Javascript中的String.Format?

时间:2011-06-02 21:38:32

标签: javascript string formatting

在C#中,每当我想打印两位数字时,我就用

int digit=1;
Console.Write(digit.ToString("00"));

如何在Javascript中执行相同的操作?
感谢

4 个答案:

答案 0 :(得分:11)

c#digit.toString("00")digit左侧附加一个零(左边填充)。在javascript中我使用这个功能:

function zeroPad(nr,base){
  var  len = (String(base).length - String(nr).length)+1;
  return len > 0? new Array(len).join('0')+nr : nr;
}
zeroPad(1,10);   //=> 01
zeroPad(1,100);  //=> 001
zeroPad(1,1000); //=> 0001

您也可以将其重写为Number:

的扩展名
Number.prototype.zeroPad = Number.prototype.zeroPad || 
     function(base){
       var nr = this, len = (String(base).length - String(nr).length)+1;
       return len > 0? new Array(len).join('0')+nr : nr;
    };
 //usage:
(1).zeroPad(10);   //=> 01
(1).zeroPad(100);  //=> 001
(1).zeroPad(1000); //=> 0001

答案 1 :(得分:1)

一种方法是下载sprintf for javascript并写下这样的内容:

int i = 1;
string s = sprintf("%02d", i);
document.write(s); // Prints "01"

答案 2 :(得分:0)

我通常只是做类似的事情 ("00000000"+nr).slice(-base),其中nr是数字,base是您要结束的数字。

答案 3 :(得分:-1)

var num =10
document.write(num);

但如果您的问题是两次使用两位数字,那么您可以使用此

var num1 = 10;
var num2 = 20;
var resultStr = string.concat(num1,num2);
document.write(resultStr);
...
Result: 1020

如果你想要一个空格,

var resultStr = string.concat(num1,"",num2);

希望这会有所帮助......