我想把一个数格式化为两位数。这个问题是在传递0-9时引起的,所以我需要将它格式化为00-09。

JavaScript中有数字格式化器吗?


当前回答

这是一个非常好的和简短的解决方案:

smartTime(time) {
  return time < 10 ? "0" + time.toString().trim() : time;
}

其他回答

我的例子是这样的

         var n =9;
         var checkval=('00'+n).slice(-2);
         console.log(checkval)

输出是09

JavaScript没有内置的数字格式化器,但是有一些库可以实现这个功能:

下划线。String提供了sprintf函数(以及许多其他有用的格式化方法) Javascript-sprintf,其中下划线。字符串借用。

对于任何想要有时间差并得到负数结果的人来说,这是一个很好的例子。垫(3)=“03”,垫(2)= " -02 ",垫(-234)= " -234 "

pad = function(n){
  if(n >= 0){
    return n > 9 ? "" + n : "0" + n;
  }else{
    return n < -9 ? "" + n : "-0" + Math.abs(n);
  }
}

我的版本:

`${Math.trunc(num / 10)}${Math.trunc(num % 10)}`;

const func = (num) => '${Math.trunc(num / 10)}${Math.trunc(num % 10)}'; 常量数 = [1, 3, 5, 6, 8, 9, 10, 20, 56, 80]; nums.forEach(num => console.log(func(num)));

快速和肮脏的一个班轮....

function zpad(n, len) {
  return 0..toFixed(len).slice(2,-n.toString().length)+n.toString();
}