要用.toFixed()方法对JavaScript中的十进制数进行四舍五入,我预计...5的结尾应该被舍入。
如示例所示,在5.555的情况下,.toFixed(2)方法将得到5.55,但由于四舍五入的标准,我的期望是5.56。
在国际数学四舍五入的情况下,是否有任何内建的JavaScript或jQuery方法用于四舍五入?
编辑:使用Math.round()是可以接受的和可以理解的,只是数字应该被乘以和除以。我很好奇是否有任何现有的简化函数,比如toFix(),只是在5的四舍五入上有一个解决方案,当然可以为它编写一个函数,或者用适当的参数化来使用Math.round。
<!DOCTYPE html>
<html>
<body>
<p>Click the button to display the fixed number.</p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<script>
function myFunction() {
var num = 5.555;
var n = num.toFixed(2);
document.getElementById("demo").innerHTML = n;
}
</script>
</body>
</html>
发布于 2021-05-03 20:02:44
您可以使用Math.round
let num = 2.555;
console.log(Math.round(num * 100) / 100);
请参阅以下链接:
发布于 2021-05-03 20:25:56
准确地说,由于您需要适当的数学舍入,而不仅仅是对小数点2位的修整,更好的方法是使用Number.EPSILON。
let num = 2.5555;
let result = Math.round((num + Number.EPSILON) * 100) / 100;
console.log(result); //expected 2.56https://stackoverflow.com/questions/67375076
复制相似问题