点击后,计算出的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 后分配的值不正确计算。
我认为我正确地格式化了问题;长时间听众,第一次打电话。我刚刚盯着它看了太久......我有我的UI和调试器的截图,但我不得不从帖子中删除这些图像。好的,谢谢你查看它。
答案 0 :(得分:1)
inches
是一个字符串,因此当您执行+运算符时,它会将其连接起来。你可以简单地做
var heightInInches = (feet * 12) + inches*1;
它会将其视为一个数字。
答案 1 :(得分:0)
尝试添加:
var feet = parseFloat(feetField.value);
var inches = parseFloat(inchesField.value);