JavaScript从我的小数中去除了.00

JavaScript stripping the .00 from my decimal?

本文关键字:我的 小数 JavaScript      更新时间:2024-03-04

我想知道是否有人能解释为什么我的小计是1,而从小计中去掉了.00。

价格为1.00,项目数量为1。

var price = parseFloat(res.productPrice).toFixed(2);
var subTotal = price * parseInt(res.itemQty);

11.00在数字上是一样的。

toFixed()产生一个字符串。字符串几乎是1.001是两个不同值的唯一意义。

price * parseInt(res.itemQty)中,您在数字运算中使用"1.00"字符串,因此该值将被解释为数字。subTotal将是一个数字,因为它是数值运算的结果,因此它同时是11.00

若要用小数表示它,则需要再次使用toFixed将其转换为字符串。

var price = parseFloat(res.productPrice).toFixed(2);
var subTotal = (price * parseInt(res.itemQty)).toFixed(2);

您必须调用subTotal上的toFixed()才能返回字符串而不是数字。

您必须再次转换subTotal toFixed(),因为它是一个数字。

因为您没有使用toFixed(2)使subTotal成为字符串

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));

我希望这能帮助