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

阿飞i
  • 629
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呢!!!

回复
阅读 4.1k
5 个回答
qianjiahao
  • 8.4k

如果按照需求实现的话:

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

var number = "01234";

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

number = +number;

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

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

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

-123是不是也要被考虑

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏