[問題] 如何對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