JavaScript toString()问题

时间:2010-10-24 14:07:27

标签: javascript jquery

我只想问一下如何将数字转换为String。我想输出的是“000000”每秒递增“0000001”。我尝试了不同的方法,但它会输出到1,2,3 ...我试过这个但是仍然无法工作。

 $(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);
  }

 });

6 个答案:

答案 0 :(得分:3)

像这样:

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

答案 1 :(得分: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);
}

答案 2 :(得分:1)

试试这个

<script>
var x=00000+"";//convert number to string
for(var i=0;i<=5;i++){
var y=x+"0000"+[i];
document.write("<br/>");
document.write(y);
}
</script>

查看实时工作示例http://jsfiddle.net/informativejavascript/GmWYr/1/

的链接

答案 3 :(得分:0)

由于x Number不具有length属性,因此x.length==5将始终评估为false,因此您尝试将其作为系列前缀零永远不会被执行。

如果 已执行,那么它将失败,因为convert未定义。

答案 4 :(得分:0)

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

答案 5 :(得分: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();

});