格式数字要始终显示小数点2位

格式数字要始终显示小数点2位

我想格式化我的数字,总是显示2位小数点,四舍五入的情况下适用。

例子:

number     display------     -------1          1.001.341      1.341.345      1.35

我一直在用这个:

parseFloat(num).toFixed(2);

但它在显示11,而不是1.00.


素胚勾勒不出你
浏览 677回答 3
3回答

绝地无双

这在FF4中很好:parseFloat(Math.round(num3&nbsp;*&nbsp;100)&nbsp;/&nbsp;100).toFixed(2);现场演示var num1 = "1";document.getElementById('num1').innerHTML = parseFloat(Math.round(num1 * 100) / 100).toFixed(2);var num2 = "1.341";document.getElementById('num2').innerHTML = parseFloat(Math.round(num2 * 100) / 100).toFixed(2);var num3 = "1.345";document.getElementById('num3').innerHTML = parseFloat(Math.round(num3 * 100) / 100).toFixed(2);span {&nbsp; &nbsp; border: 1px solid #000;&nbsp; &nbsp; margin: 5px;&nbsp; &nbsp; padding: 5px;}<span id="num1"></span><span id="num2"></span><span id="num3"></span>注意它会圆小数点到2位,所以输入1.346会回来1.35.

智慧大石

Number(1).toFixed(2);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// 1.00Number(1.341).toFixed(2);&nbsp; &nbsp; &nbsp;// 1.34Number(1.345).toFixed(2);&nbsp; &nbsp; &nbsp;// 1.34 NOTE: See andy's comment below.Number(1.3450001).toFixed(2); // 1.35document.getElementById('line1').innerHTML = Number(1).toFixed(2);document.getElementById('line2').innerHTML = Number(1.341).toFixed(2);document.getElementById('line3').innerHTML = Number(1.345).toFixed(2);document.getElementById('line4').innerHTML = Number(1.3450001).toFixed(2);<span id="line1"></span><br/><span id="line2"></span><br/><span id="line3"></span><br/><span id="line4"></span>

拉风的咖菲猫

这个答案如果value = 1.005.作为一个更好的解决方案,可以通过使用指数表示法表示的数字来避免舍入问题:Number(Math.round(1.005+'e2')+'e-2');&nbsp;//&nbsp;1.01@Kon和原始作者建议的更干净的代码:Number(Math.round(parseFloat(value&nbsp;+&nbsp;'e'&nbsp;+&nbsp;decimalPlaces))&nbsp;+&nbsp;'e-'&nbsp;+&nbsp;decimalPlaces)贷记:JavaScript中的四舍五入小数
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript