作者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