找到heightInInches这段代码有什么问题?

时间:2012-07-07 02:26:07

标签: javascript ios titanium

点击后,计算出的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 后分配的值不正确计算。

Link to BMI formula

我认为我正确地格式化了问题;长时间听众,第一次打电话。我刚刚盯着它看了太久......我有我的UI和调试器的截图,但我不得不从帖子中删除这些图像。好的,谢谢你查看它。

2 个答案:

答案 0 :(得分:1)

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

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

它会将其视为一个数字。

答案 1 :(得分:0)

尝试添加:

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