search

Home  >  Q&A  >  body text

javascript - JS 实现数字格式化问题,如 9999999 -> 9,999,999, 但 01234 格式化之后前面的0如何保留?

var number=9999999; 
var arr=number.toString().split("");
 for(var i=arr.length-4;i>=0;i-=3)
    {
        arr[i]+=","
    } 
console.log(arr.join(""))

然后各种检测,发现number等于01234;
toString()(默认是十进制)也就是说前面那个0没了。

如何保留0呢!!!

巴扎黑巴扎黑2777 days ago1068

reply all(5)I'll reply

  • PHPz

    PHPz2017-04-10 15:07:06

    如果按照需求实现的话:

    让它一开始就不是数字类型

    var number = "01234";
    

    如果你需要用数字类型的number做其他操作,可以使用一元加快速转换类型:

    number = +number;
    

    但是实际情况考虑,数字应该不会是0开头吧,
    所以Number类型已经帮你处理了0开头的情况。

    reply
    0
  • 怪我咯

    怪我咯2017-04-10 15:07:06

    额 01234 貌似不是合法的整数!

    reply
    0
  • 天蓬老师

    天蓬老师2017-04-10 15:07:06

    var number=01234;
    console.log(number);
    看看结果,估计已经是输出1234了

    reply
    0
  • 迷茫

    迷茫2017-04-10 15:07:06

    -123是不是也要被考虑

    reply
    0
  • PHP中文网

    PHP中文网2017-04-10 15:07:06

    有类似需求,我是要显示编号,从0000到9999,我是自己写了个函数左补0的……

    reply
    0
  • Cancelreply