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