此代码查找高度英寸有什么问题?



点击后,计算出的BMI显示为0.3;预期答案是22.8

有问题的代码片段:

calculateButton.addEventListener('click', function() {
    var feet = feetField.value;
    var inches = inchesField.value;
    var heightInInches = (feet * 12) + inches;
    bmiDisplay.text = ((weightField.value / (heightInInches * heightInInches)) * 703).toFixed(1);
});

高度英寸应等于68,而不是608。似乎不知何故,英尺(5)乘以了120,而不是12,然后在最后加上了英寸(8),但我不太明白为什么会发生这种情况,为什么当我浏览代码时它会对我隐藏起来?

调试器在公式中显示了英尺(5)和英寸的正确值,但在计算后分配给高度英寸

链接到BMI公式

我想我把问题编排得很正确;长期听众,第一次打电话。我只是盯着它看太久了。。。我有我的UI和调试器的屏幕截图,但我不得不从帖子中删除这些图像。好的,谢谢你的光临。

inches是一个字符串,所以当您执行+运算符时,它会将其连接起来。您可以简单地执行

var heightInInches = (feet * 12) + inches*1;

它会把它当作一个数字。

尝试添加:

var feet = parseFloat(feetField.value);
var inches = parseFloat(inchesField.value);

最新更新