JavaScript内置的toFixed()四舍五入的替代方法

11 浏览
0 Comments

JavaScript内置的toFixed()四舍五入的替代方法

这个问题已经有答案了:

如果有必要,如何将数字四舍五入到最多2个小数位

使用JavaScript中的.toFixed()方法来四舍五入一个小数,我预期以...5结尾的数字应该向上舍入。

正如例子所示,在5.555的情况下,.toFixed(2)会得到5.55,尽管按照四舍五入标准,我预期应该是5.56。

是否有内置的JavaScript或jQuery方法来遵循国际数学四舍五入规则来舍入数字?


编辑:使用Math.round()是可接受和理解的,只是需要将数字乘以和除以。我很好奇是否存在任何现成的简化函数,就像toFixed()一样,只处理5的舍入解决方案。当然,可以编写一个函数或使用适当参数化的Math.round。

Click the button to display the fixed number.


admin 更改状态以发布 2023年5月23日
0
0 Comments

为了精确起见,由于你需要适当的数学舍入而不仅仅是保留小数点后两位,更好的方法是使用Number.EPSILON。 \n

let num = 2.5555;
let result = Math.round((num + Number.EPSILON) * 100) / 100;
console.log(result); //expected 2.56

0
0 Comments

你可以使用 Math.round 来完成:

let num = 2.555;
console.log(Math.round(num * 100) / 100);

请查看下面的链接:

如何在必要时保留最多2位小数?

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/round

https://www.w3schools.com/jsref/jsref_round.asp

0