使用以下代码(https://jsfiddle.net/d5pjr60g/):

var num = 67.475;
var round = (Math.round( num * 100 ) / 100).toFixed(2);
alert(round);


数字67.475和77.475分别返回67.47和77.47。但是,如果更改任何其他数字,则将“正确”舍入。 57.475或67.375将分别返回57.48和67.38。

如果使用基本的var round = num.toFixed(2);,我将得到相同的结果

这发生在每个浏览器上。我如何将其从77.475舍入到77.48?

最佳答案

可能是舍入方案的问题,它可能使用了banker's rounding。该解决方案可以解决。
Gaussian/banker's rounding in JavaScript

关于javascript - Javascript舍入在77.475和67.475上失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41619522/

10-11 12:34