我想把一个数格式化为两位数。这个问题是在传递0-9时引起的,所以我需要将它格式化为00-09。
JavaScript中有数字格式化器吗?
我想把一个数格式化为两位数。这个问题是在传递0-9时引起的,所以我需要将它格式化为00-09。
JavaScript中有数字格式化器吗?
当前回答
如果您的项目中没有lodash,那么仅仅为了使用一个函数而添加整个库将是一种过度。这是我见过的最复杂的解决你问题的方法。
_.padStart(num, 2, '0')
其他回答
“${}数量”.replace (/ ^ (\ d) /美元,' 0 $ 1 ');
正则表达式是最好的。
之前答案的改进版本
函数atLeast2Digit (n) { n = parseInt(n);/ /交货。如果已经经过'05',它将被转换为数字5 Var ret = n > 9 ?" + n: "0" + n; 返回受潮湿腐烂; } alert (atLeast2Digit (5));
JavaScript没有内置的数字格式化器,但是有一些库可以实现这个功能:
下划线。String提供了sprintf函数(以及许多其他有用的格式化方法) Javascript-sprintf,其中下划线。字符串借用。
您也可以使用Intl一个ECMAScript国际API,它可以像这样简单地自定义您的号码
let Number= Intl.NumberFormat('en-US', {
minimumIntegerDigits: 2,
minimumFractionDigits: 2
});
console.log(Number.format(2));
//02.00
和许多具有Intl的嵌入式函数,你可以放一个前缀符号,符号和货币格式等文档,只需点击这里
如果你想同时限制你的数字:
function pad2(number) {
number = (number < 10 ? '0' : '') + number;
number = number.substring(0,2);
return number;
}
这也会对任何超过两位数的值进行切取。 我一直在扩展法纳尔的解决方案。