Строка. Формат в Javascript? - PullRequest
5 голосов
/ 03 июня 2011

В C # всякий раз, когда я хотел напечатать двузначные числа, которые я использовал

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

Как я могу сделать то же действие в Javascript?Спасибо

Ответы [ 3 ]

11 голосов
/ 03 июня 2011

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.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 голос
/ 03 июня 2011

Один из способов - загрузить sprintf для javascript и написать что-то вроде этого:

int i = 1;
string s = sprintf("%02d", i);
document.write(s); // Prints "01"
0 голосов
/ 03 июня 2011
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);

Надеюсь, это поможет ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...