如何在任意基数中创建数字的零填充字符串表示形式?

15 javascript

可能重复:
如何使用JavaScript创建Zerofilled值?

当我使用JavaScript将#从基数10转换为16进制16时,它不会填充数字.

例如:

var myBaseTenNumber = 0;
myBaseTenNumber.toString(16);  // should be 00 but it's just 0
Run Code Online (Sandbox Code Playgroud)

任何简单的方法将我的号码填零为2位数?

Noo*_*ilk 22

一般来说就像

如果你知道前面的长度你可以做(​​像这样):

var temp = myBaseTenNumber.toString(16);
("00" + myBaseTenNumber.toString(16)).substring(2 - temp.length, 2);
Run Code Online (Sandbox Code Playgroud)

  • 请记住,最后两位数字可以使用`.substr(-2)`. (11认同)
  • ("00"+ x.toString(16)).切片(-2) (11认同)
  • 老实说,我不同意'重复'标志.这有一个非常简洁的解决方案,绝对与一般的填充问题无关.这适用于任何基数的无符号整数,maxPad是输出字符串长度.它首先需要检查输入数字,看它是否超过转换后的最大长度((Math.pow(base,maxPad)+ number)).toString(base).slice(1,maxPad +1) (3认同)