我想将我的数字格式化为始终显示 2 位小数,并在适用的情况下四舍五入。
例子:
number display
------ -------
1 1.00
1.341 1.34
1.345 1.35
我一直在用这个:
parseFloat(num).toFixed(2);
但它将 1
显示为 1
,而不是 1.00
。
最佳答案
(Math.round(num * 100) / 100).toFixed(2);
现场演示
var num1 = "1";
document.getElementById('num1').innerHTML = (Math.round(num1 * 100) / 100).toFixed(2);
var num2 = "1.341";
document.getElementById('num2').innerHTML = (Math.round(num2 * 100) / 100).toFixed(2);
var num3 = "1.345";
document.getElementById('num3').innerHTML = (Math.round(num3 * 100) / 100).toFixed(2);
span {
border: 1px solid #000;
margin: 5px;
padding: 5px;
}
<span id="num1"></span>
<span id="num2"></span>
<span id="num3"></span>
请注意,它将四舍五入到小数点后两位,因此输入 1.346
将返回 1.35
。
关于javascript - 将数字格式化为始终显示 2 位小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6134039/