想知道是否有人可以解释为什么我的小计是 1,并且 .00 被从小计中剥离。
price 是 1.00,itemQty 是 1。
var price = parseFloat(res.productPrice).toFixed(2);
var subTotal = price * parseInt(res.itemQty);
想知道是否有人可以解释为什么我的小计是 1,并且 .00 被从小计中剥离。
price 是 1.00,itemQty 是 1。
var price = parseFloat(res.productPrice).toFixed(2);
var subTotal = price * parseInt(res.itemQty);
1
并且1.00
在数字上是相同的。
toFixed()
产生一个字符串。字符串几乎是唯一意义上的1.00
和1
是两个不同的值。
如果price * parseInt(res.itemQty)
您"1.00"
在数字运算中使用字符串,因此该值将被解释为数字。subTotal
将是一个数字,因为它是数值运算的结果,因此它既是又是1
同时1.00
。
如果你想用小数显示它,你需要toFixed
再次使用将它转换为字符串。
您必须toFixed()
再次转换 subTotal,因为它是一个数字。
var price = parseFloat(res.productPrice).toFixed(2);
var subTotal = (price * parseInt(res.itemQty)).toFixed(2);
您必须调用toFixed()
subTotal 以返回字符串而不是数字。
因为您没有使用 toFixed(2) 将 subTotal 设为 String
var res = {productPrice:3.00, itemQty:2}
var price = parseFloat(res.productPrice).toFixed(2);
var subTotal = price * parseInt(res.itemQty);
console.log(subTotal.toFixed(2));
我希望这会有所帮助