我想显示一个数字到小数点后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 );
其他回答
你可以像这样设置小数点的长度:
let number = 6.1234
number.toFixed(2) // '6.12'
但是toFixed返回一个字符串,而且如果number根本没有小数点,它会添加多余的零。
let number = 6
number.toFixed(2) // '6.00'
为了避免这种情况,您必须将结果转换为数字。你可以用以下两种方法:
let number1 = 6
let number2 = 6.1234
// method 1
parseFloat(number1.toFixed(2)) // 6
parseFloat(number2.toFixed(2)) // 6.12
// method 2
+number1.toFixed(2) // 6
+number2.toFixed(2) // 6.12
float_num = parseFloat(float_num.toFixed(2))
float_num.toFixed(2);
注意:如果需要,toFixed()将四舍五入或填充零以满足指定的长度。
我不知道我是怎么想到这个问题的,但即使这个问题已经问了很多年了,我想补充一个我遵循的快速而简单的方法,它从来没有让我失望:
var num = response_from_a_function_or_something();
var fixedNum = parseFloat(num).toFixed( 2 );
如果你需要2位数字而不是字符串类型,我就用这种方法。
const exFloat = 3.14159265359;
console.log(parseFloat(exFloat.toFixed(2)));