[問題] 請問數字的格式化輸出

看板Ruby作者 (章魚坦克)時間16年前 (2009/09/04 16:43), 編輯推噓1(107)
留言8則, 3人參與, 最新討論串1/1
有一個簡單的問題可是卻遍尋不著答案 我想要把 1234567 這樣的數字在印出加上逗號變成 1,234,567 這樣的格式, 在java有numberformat可以用,那在ruby要怎麼樣做到呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.88.44

09/04 19:19, , 1F
唔,先說 QtRuby 有 locale 的部份,我再看看還有啥地方有
09/04 19:19, 1F

09/04 19:39, , 2F
regexp: num.to_s.gsub(/(\d)(?=\d{3}+(\.\d*)?$)/, '\1,')
09/04 19:39, 2F

09/04 22:11, , 3F
請問最後面的'\1,'該怎麼解讀呢?看很久還是看不懂。
09/04 22:11, 3F

09/04 23:06, , 5F
那叫 backreference, 類似 $1, 指前面的括號裡的東西
09/04 23:06, 5F

09/05 06:35, , 6F
小弟理解成 後面可以跟著三個數字 的那個數字 , 這樣怎麼不
09/05 06:35, 6F

09/05 06:36, , 7F
會變成 1,2,3,4,567 阿 XD, 我觀念有點問題, 請大大指正一下
09/05 06:36, 7F

09/05 07:10, , 8F
懂了 後面跟的數字 數目要是 3的倍數(\d{3}+) 直到結尾 $
09/05 07:10, 8F
文章代碼(AID): #1AeDD7j8 (Ruby)
文章代碼(AID): #1AeDD7j8 (Ruby)