如何通过在数字前加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位数字。而是仅将数字限制在小数点(整数部分)的左侧。
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);
以上是 如何通过在数字前加0来格式化数字? 的全部内容, 来源链接: utcz.com/qa/399111.html