javascript数学不加起来

时间:2016-02-10 22:58:19

标签: javascript jquery math

我有一个表单,用户可以在其中简单地将两个字段相乘。然后使用jquery将等式的结果放在另一个输入字段中。

quantity =         Number($('#quantity').val());
price =            Number($('#price').val());

subtotal = quantity * price;

$("input#subtotal").val(subtotal); 

但......数字不加!

我用逗号后面的小数字得到非常奇怪的答案。运行我的控制台时:

console.log(subtotal, price+ "x" + quantity + "=" + subtotal);    

它字面上说明:

--> 1.07 x 1001 = 1071.0700000000002

这里最好的解决方案是什么?

1 个答案:

答案 0 :(得分:0)

我通过添加:

解决了这个浮点问题
myvar = myvar.toFixed(2).replace(/0{0,2}$/, "")

似乎适用于价格类型计算。

修改

正如Joseph Marikle在评论中指出的那样,这可能导致像1071.0007这样的数字出现问题。

myvar = Number(myvar.toFixed(2)) 

因此看起来是一个更优雅的解决方案。