javascript toFixed函数出现问题

时间:2019-09-06 08:05:05

标签: javascript decimal

我对toFixed()函数有疑问。我有一些浮点数,例如160.325和5.325。 toFixed()函数的返回值应该分别为160.33和5.33,但是对于160.325返回值为160.32,对于5.325返回5.33。

我尝试了不同的方式,

Number(160.325).toFixed(2)
"160.32"
Number(160.326).toFixed(2)
"160.33"
Number(5.325).toFixed(2)
"5.33"
Number(160.425).toFixed(2)
"160.43"

我希望输出为160.33和5.33。

1 个答案:

答案 0 :(得分:-3)

MDN已针对此意外行为添加了警告。您可以阅读here

  

浮点数不能精确地用二进制表示所有小数,这会导致意外的结果

示例:

2.35.toFixed(1);        // Returns '2.4'. Note it rounds up
2.55.toFixed(1);        // Returns '2.5'. Note it rounds down