我在表格中有数字,需要用JavaScript格式化它们(点后2个符号)。 这段代码有效,但我想有更有效和更优雅的方法:
var str = "126389471.74000001";
var dotIndex = str.indexOf(".");
var formattedStr = str.substring(0, dotIndex+3);
有人可以建议更好的解决方案吗?
答案 0 :(得分:6)
您正在寻找toFixed
var str = "126389471.74000001";
var formattedStr = parseFloat(str).toFixed(2); // 2 dp
答案 1 :(得分:1)
为什么你首先将它们视为字符串?使用JavaScript自动处理toFixed()
:
var num = 126389471.74000001,
formatted = num.toFixed(2);
如果您绝对 要将其作为字符串进行处理,请使用parseFloat()
和相同的方法:
var formatted = parseFloat(num).toFixed(2);