0

点击后,计算出来的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);
});

heightInInches 应该等于 68,而不是 608。似乎以某种方式将英尺 (5) 乘以120而不是 12,然后在最后加上英寸 (8),但我不太明白为什么会发生这种情况,以及为什么当我通过代码?

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

链接到 BMI 公式

我想我正确地格式化了问题;长时间的听众,第一次来电。我只是盯着它太久了......我有我的 UI 和调试器的屏幕截图,但我不得不从帖子中删除这些图像。好的,感谢您查看。

4

2 回答 2

1

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

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

它会将其视为一个数字。

于 2012-07-07T02:29:01.500 回答
0

尝试添加:

var feet = parseFloat(feetField.value);
var inches = parseFloat(inchesField.value);
于 2012-07-07T02:28:29.403 回答