JavaScript中数字四舍五入到两位小数:如何正确实现?
大家好!我是JavaScript新手,遇到了数字四舍五入的问题。我需要在电商网站的购物车中显示价格,希望它们最多显示两位小数。但如果数字是整数(例如10),则只显示"10",不带小数位。
我尝试过使用`toFixed(2)`,但它总是添加零:`(10).toFixed(2)`返回`"10.00"`,而我需要`"10"`。也试过`Math.round(num * 100) / 100`——这有效,但有时由于浮点数精度问题会给出奇怪的结果。例如,`Math.round(1.005 * 100) / 100`返回`1`,而不是我期望的`1.01`。
请问如何正确地将数字四舍五入到两位小数,同时在不必要时不显示多余的零?需要一个可靠的解决方案,适用于任何数字,包括负数和非常小的值(例如`0.0001`应变为`0`,而不是`0.00`)。
我期望得到的结果示例:
- 10