2010-10-24 59 views
1

我只想问如何将数字转换为字符串。我想要输出的是“000000”,每秒增加“0000001”。我尝试了不同的方法,但它会输出到1,2,3 ...我试过但仍然无法工作。JavaScript toString()问题

$(document).ready(function(){ 
    xx(); 
    var x = 0; 

    function xx() 
    { 

    x++; 
    if(x.length==5) { 
     x = "00000" + convert.toString(x); 
    } 

    $("div.sss").text(x); 


    setTimeout(xx,1000); 
    } 

}); 
+0

纠正我,如果我错了,但从我看到的'xx'函数被执行(第一次)之前'x'被设置为'0'。 – 2010-10-24 14:15:19

+1

旁注:你不应该在其他函数中声明命名函数。并非所有的口译员都这样。 – DanMan 2010-10-24 14:41:15

回答

3

像这样:

function padString(str, size) { 
    str = "" + str; 
    if (str.length >= size) 
     return str; 
    return "00000000000000000000000000".substr(0, size - str.length) + str; 
} 
0

由于xNumber是不会有length属性,从而false让你尝试了一系列的零前缀它永远不会被执行x.length==5将始终评估。

如果它执行,那么它会失败,因为convert是未定义的。

1
function xx() 
{ 
    x++; 
    str_x = "000000"+x; 
    str_x = str_x.substring(str_x.length - 6); 
    $("div.sss").text(str_x); 
    setTimeout(xx, 1000); 
} 
0

你不需要使用的toString。你可以做"foo" + x"00000" + x直接

0

这工作:

$(document).ready(function() { 

var x = 0; 

function loop() { 
    var t = x + ""; 
    var n = 6 - t.length; 

    while (n > 0) { 
    t = "0" + t; 
    n -= 1; 
    } 
    $("#foo").text(t);  
    x += 1; 
    setTimeout(loop, 1000); 
} 

loop(); 

});