[问题] 如何对0开头的数字加1

楼主: lueichun (no anonymous)   2017-05-01 12:47:46
如果我现在有一个数字 叫0001
那我应该要怎么做 才能做到0001+1 变成0002
0009+1 变成0010的效果
在JavaScript 0001会被当成字串 所以0001直接+1会变成00011
所以直接+1当然不行
感觉这个状况应该很多人都会遇到 但我目前还没找到可行的做法
作者: Qiqi (泼泼)   2017-05-01 12:55:00
先用数字做运算,然后前面补4个字串0,再用slice即可
作者: jmlntw (吉米林)   2017-05-01 12:58:00
去零→加一→补零
作者: vi000246 (Vi)   2017-05-01 13:22:00
string to int ->int to string ->left pad
作者: ssccg (23)   2017-05-01 15:29:00
不是0001会被当成字串,是0001本来就是字串你没有一个数字,只有一个字串,要做数字运算当然先转数字
楼主: lueichun (no anonymous)   2017-05-01 15:32:00
解决了 感谢
作者: ThreeWater (爆炸!!)   2017-05-01 15:33:00
slice("0",4-Math. ceil(Math.log(num.length))) + num
作者: jmlntw (吉米林)   2017-05-01 16:18:00
'000' + (parseInt(num, 10) + 1)).slice(-4)^( 抱歉最前面少个括号
作者: xlf (Cote rocks!)   2017-05-01 21:46:00
先用正规表示法把0001变成1 转成数字+1之后 用padStart()补上0
作者: jason82714 (Jason)   2017-05-02 20:28:00
数字直接运算 最后再从前面补零即可
作者: eight0 (欸XD)   2017-05-06 07:56:00
+"0001" + 1

Links booklink

Contact Us: admin [ a t ] ucptt.com