我想显示一个数字到小数点后2位。
我想我可以在JavaScript中使用toPrecision(2)。
但是,如果这个数字是0.05,我得到0.0500。我宁愿它保持不变。
在JSbin上可以看到。
最好的方法是什么?
我可以想到编写一些解决方案,但我想象(我希望)像这样的东西是内置的?
我想显示一个数字到小数点后2位。
我想我可以在JavaScript中使用toPrecision(2)。
但是,如果这个数字是0.05,我得到0.0500。我宁愿它保持不变。
在JSbin上可以看到。
最好的方法是什么?
我可以想到编写一些解决方案,但我想象(我希望)像这样的东西是内置的?
当前回答
我不知道我是怎么想到这个问题的,但即使这个问题已经问了很多年了,我想补充一个我遵循的快速而简单的方法,它从来没有让我失望:
var num = response_from_a_function_or_something();
var fixedNum = parseFloat(num).toFixed( 2 );
其他回答
你可以用toFixed函数来做,但它在IE中有bug。如果你想要一个可靠的解决方案,看看我的答案。
number.parseFloat(2)可以工作,但它返回一个字符串。
如果你想保留它作为一个数字类型,你可以使用:
数学。整数(数字* 100)/ 100
试着固定而不是精确。
float_num.toFixed(2);
注意:如果需要,toFixed()将四舍五入或填充零以满足指定的长度。
您可以尝试混合使用Number()和toFixed()。
将目标数字转换为具有X位数字的漂亮字符串,然后将格式化后的字符串转换为数字。
(myVar).toFixed(2))
请看下面的例子:
var myNumber = 5.01; 变量乘数 = 5; $('#actionButton').on('click', function() { $('#message').text( myNumber * 乘数 ); }); $('#actionButton2').on('click', function() { $('#message').text( Number( (myNumber * multiplier).toFixed(2) ) ); }); <script src=“https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js”></script> <按钮 id=“动作按钮”>奇怪的数字</button> <按钮 id=“动作按钮2”>不错的数字</button> <div id=“message”></div>