繁体   English   中英

如何将javascript中的数字格式化为两位小数?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM