[英]How to format numbers in javascript to two decimal digits?
我需要在javascript中将数字格式化为两位小数。 为了做到这一点,我使用toFixed方法,它正常工作。
但是在数字没有任何十进制数字的情况下,它不应该显示小数点
例如10.00应该只有10而不是10.00。
.toFixed()
将结果转换为String ,
所以你需要让它回到一个数字: jsBin演示
parseFloat( num.toFixed(2) )
或者只需使用一元+
+num.toFixed(2)
两者都将给出以下内容 :
// 15.00 ---> 15
// 15.20 ---> 15.2
如果你只想摆脱.00
情况,你可以使用.replace()
进行字符串操作
num.toFixed(2).replace('.00', '');
注意 :以上内容会将您的Number
转换为String
。
作为使这种变化成为全球性的替代方案(当然,如果您需要),请尝试以下方法:
var num1 = 10.1;
var num2 = 10;
var tofixed = Number.prototype.toFixed;
Number.prototype.toFixed = function(precision)
{
var num = this.valueOf();
if (num % 1 === 0)
{
num = Number(num + ".0");
}
return tofixed.call(num, precision);
}
console.log(num1.toFixed(2));
console.log(num2.toFixed(2));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.