Как сделать 8-значное число в JavaScript? - PullRequest
0 голосов
/ 12 февраля 2011

Я пытаюсь сделать автогенератор чисел.но у меня проблема с тем, как заставить число к 8 цифрам.


for(i=1&#59;i<=100&#59;i++) {
  var i = x++&#59;

  var test = i.toFixed(8)&#59; // I used this but this is only for decimals

  jQuery('.generated_table').append(test+'<br />');&#59;
}

Пожалуйста, помогите.

Ответы [ 4 ]

2 голосов
/ 12 февраля 2011

Использовать до точности:

(10000000).toPrecision(8); //=> '10000000'
(100).toPrecision(8); //=> '100.00000'

Если вы имели в виду, что перед числом стоит начальный ноль:

var i = (100).toPrecision(8).split('.').reverse().join(''); //=> '00000100'

Вы также можете сделать функцию Number.prototype для этого:

Number.prototype.leadingZeros = function(n) {
    return this.toPrecision(n).split('.').reverse().join('');
};

(100).leadinZeros(8); //=> '00000100' 

Просто для полноты: более точный способ печати любого (числа) начальных символов на любое число может быть следующим:

Number.prototype.toWidth = function(n,chr) {
    chr = chr || ' ';
    var len = String(parseFloat(this)).length;
    function multiply(str,nn){
        var s = str;
        while (--nn>0){
            str+=s;
        }
        return str;
    }
    n = n<len ? 0 : Math.abs(len-n);
    return (n>1 && n ? multiply(chr,n) : n<1 ? '' : chr)+this;
};
(100).toWidth(8,'0'); //=> 00000100
1 голос
/ 12 февраля 2011

Whooo !!!Я получил Anser :: Попробуйте

for(i=1;i<=100;i++) {
  //var i = x++;

  var test = i.toPrecision(8).replace("\.","");     
  jQuery('.generated_table').append(test+'<br />');;
}
0 голосов
/ 12 февраля 2011
var randNum = "";
var MAX_LENGTH = 8;

while(randNum.toString().length < MAX_LENGTH){
 var temp = Math.floor(Math.random() * 10);
 randNum += temp.toString();
}

alert(randNum);
0 голосов
/ 12 февраля 2011

Проверьте этот вопрос SO для некоторых ссылок на различные функции в стиле printf для Javascript: Javascript printf / string.format

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