不要因为 Math.round() 只能保留整数就用 toFixed() 代替

作者:vkvi 来源:ITPOW(原创) 日期:2020-5-7

Math.round(123.45)

结果是 123,它是四舍五入到整数,无法到小数,也就是说我们无法直接使用它实现保留 2 位小数。返回的数据类型是数字。

但是 toFixed 似乎可以?

123.45.toFixed(1),结果是 123.5,返回的数据类型是字符串,小数位数不足会补 0,但位数超长,比如 20,后面就不是补 0 了,可能是补 999999995 一类的,但是,这都不是问题,问题是 JavaScript 中数字并不是精确的,请参见:四舍五入遇 5 往哪靠?-JavaScript toFixed 根本不必研究往奇靠、往偶靠

怎么解决?

请参见:JavaScript 如何解决 toFixed 不精确、round 不支持小数的四舍五入问题?

相关文章