gpt4 book ai didi

javascript - 如何在javaScript中保留两位小数

转载 作者:行者123 更新时间:2023-12-05 01:30:15 26 4
gpt4 key购买 nike

我需要在付款总额后显示2位小数。

我试过这种方式:

  cart.itemsPrice = cart.cartItems.reduce(
(acc, item) => acc + (item.price * item.qty).toFixed(2),
0
);

然后输出显示如下:

$0269.97179.9888.99

我不知道为什么,

然后如果我尝试这样:

 cart.itemsPrice = cart.cartItems.reduce(
(acc, item) => acc + Math.round(item.price * item.qty).toFixed(2),
0
);

然后我仍然得到相同的垃圾值

请提出任何建议。

最佳答案

好的,toFixed 返回一个字符串(see docs)。因此,当您尝试将数字添加到字符串时,它只是将数字转换为字符串并添加两个字符串。您可以使用“+”运算符将值转换回数字 acc++value.toFixed(2);

因此最好对 reduce 函数的结果执行 toFixed 方法。 Math.round 也应该适用于您 (Math.round(value*100)/100)(参见 docs)。

console.log((3.033333).toFixed(2) + 4.5) // will print 3.034.5 

cart.itemsPrice = (cart.cartItems.reduce(
(acc, item) => acc + (item.price * item.qty),
0
)).toFixed(2);

关于javascript - 如何在javaScript中保留两位小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67277547/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com