我有一个表单,用户可以在其中简单地将两个字段相乘。然后使用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
这里最好的解决方案是什么?
答案 0 :(得分:0)
我通过添加:
解决了这个浮点问题myvar = myvar.toFixed(2).replace(/0{0,2}$/, "")
似乎适用于价格类型计算。
修改强>
正如Joseph Marikle在评论中指出的那样,这可能导致像1071.0007这样的数字出现问题。
myvar = Number(myvar.toFixed(2))
因此看起来是一个更优雅的解决方案。