Использовать до точности:
(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