编程语言
首页 > 编程语言> > javascript – 如何通过将0添加到一位数字来格式化数字?

javascript – 如何通过将0添加到一位数字来格式化数字?

作者:互联网

我想格式化一个数字有两位数.当0-9通过时会导致问题,所以我需要将其格式化为00-09.

JavaScript中是否有数字格式化程序?

解决方法:

我发现的最佳方法如下:

(请注意,此简单版本仅适用于正整数)

var myNumber = 7;
var formattedNumber = ("0" + myNumber).slice(-2);
console.log(formattedNumber);

对于小数,您可以使用此代码(虽然它有点草率).

var myNumber = 7.5;
var dec = myNumber - Math.floor(myNumber);
myNumber = myNumber - dec;
var formattedNumber = ("0" + myNumber).slice(-2) + dec.toString().substr(1);
console.log(formattedNumber);

最后,如果您必须处理负数的可能性,最好存储符号,将格式应用于数字的绝对值,然后在事后重新应用符号.请注意,此方法不会将数字限制为2位总数.相反,它只限制小数左边的数字(整数部分). (确定符号的行被发现为here).

var myNumber = -7.2345;
var sign = myNumber?myNumber<0?-1:1:0;
myNumber = myNumber * sign + ''; // poor man's absolute value
var dec = myNumber.match(/\.\d+$/);
var int = myNumber.match(/^[^\.]+/);

var formattedNumber = (sign < 0 ? '-' : '') + ("0" + int).slice(-2) + (dec !== null ? dec : '');
console.log(formattedNumber);

标签:javascript,number-formatting
来源: https://codeday.me/bug/20190915/1806333.html