作者lueichun (no anonymous)
看板Web_Design
標題[問題] 如何對0開頭的數字加1
時間Mon May 1 12:47:46 2017
如果我現在有一個數字 叫0001
那我應該要怎麼做 才能做到0001+1 變成0002
0009+1 變成0010的效果
在JavaScript 0001會被當成字串 所以0001直接+1會變成00011
所以直接+1當然不行
感覺這個狀況應該很多人都會遇到 但我目前還沒找到可行的做法
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.136.199.33
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Web_Design/M.1493614068.A.861.html
1F:推 Qiqi: 先用數字做運算,然後前面補4個字串0,再用slice即可 05/01 12:55
2F:→ jmlntw: 去零→加一→補零 05/01 12:58
3F:推 vi000246: string to int ->int to string ->left pad 05/01 13:22
4F:→ ssccg: 不是0001會被當成字串,是0001本來就是字串 05/01 15:29
5F:→ ssccg: 你沒有一個數字,只有一個字串,要做數字運算當然先轉數字 05/01 15:30
6F:→ lueichun: 解決了 感謝 05/01 15:32
7F:推 ThreeWater: slice("0",4-Math. ceil(Math.log(num.length))) + nu 05/01 15:33
8F:→ ThreeWater: m 05/01 15:33
9F:→ jmlntw: '000' + (parseInt(num, 10) + 1)).slice(-4) 05/01 16:18
10F:→ jmlntw: ^( 抱歉最前面少個括號 05/01 16:19
11F:→ xlf: 先用正規表示法把0001變成1 轉成數字+1之後 用padStart() 05/01 21:46
12F:→ xlf: 補上0 05/01 21:46
13F:推 jason82714: 數字直接運算 最後再從前面補零即可 05/02 20:28
14F:推 eight0: +"0001" + 1 05/06 07:56