我正在使用toFixed,但是该方法无法按预期运行

parseFloat(19373.315).toFixed(2);

//19373.31   Chrome

预期输出:19373.32
parseFloat(9373.315).toFixed(2);
// 9373.32  Working fine

为什么第一个示例向下取整,而第二个示例向上取整?

最佳答案

问题在于大多数小数部分的二进制浮点表示形式不准确。 19373.315的内部表示实际上可能类似于19373.314999999,因此toFixed向下取整,而19373.315可能为19373.315000001,向上取整。

10-06 07:37