作者wallat (章魚坦克)
看板Ruby
標題[問題] 請問數字的格式化輸出
時間Fri Sep 4 16:43:50 2009
有一個簡單的問題可是卻遍尋不著答案
我想要把 1234567 這樣的數字在印出加上逗號變成 1,234,567 這樣的格式,
在java有numberformat可以用,那在ruby要怎麼樣做到呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.88.44
1F:→ godfat:唔,先說 QtRuby 有 locale 的部份,我再看看還有啥地方有 09/04 19:19
2F:→ godfat:regexp: num.to_s.gsub(/(\d)(?=\d{3}+(\.\d*)?$)/, '\1,') 09/04 19:39
3F:→ wallat:請問最後面的'\1,'該怎麼解讀呢?看很久還是看不懂。 09/04 22:11
5F:→ godfat:那叫 backreference, 類似 $1, 指前面的括號裡的東西 09/04 23:06
6F:→ ilake:小弟理解成 後面可以跟著三個數字 的那個數字 , 這樣怎麼不 09/05 06:35
7F:→ ilake:會變成 1,2,3,4,567 阿 XD, 我觀念有點問題, 請大大指正一下 09/05 06:36
8F:→ ilake:懂了 後面跟的數字 數目要是 3的倍數(\d{3}+) 直到結尾 $ 09/05 07:10