From: Shyouhei Urabe Date: 2011-05-27T08:50:42+09:00 Subject: [ruby-core:36499] [Ruby 1.9 - Feature #4786] RCR new Feature: Numeric#grouped Issue #4786 has been updated by Shyouhei Urabe. P.S. POSIX does specify printf("%'d"), but this does not define _how_ the numbers are grouped, because of course, by theory they cannot. ---------------------------------------- Feature #4786: RCR new Feature: Numeric#grouped http://redmine.ruby-lang.org/issues/4786 Author: Roger Pack Status: Open Priority: Normal Assignee: Category: Target version: Hello all. As discussed in http://www.ruby-forum.com/topic/1060694#new with apparently no objection, this is a request for an easy way to get comma separated string values from numeric types. Background: Currently in ruby you can enter large numbers with digit grouping: a = 1_000_000_000 however there is no convenient way to convert from a number back to digit grouping Suggestion: >> 1_000_000_000.grouped => "1,000,000,000" class Numeric def separate(sep=",") self.to_s.reverse.scan(/(?:\d*\.)?\d{1,3}-?/).join(sep).reverse end end Another option would be to support this extended printf syntax: >> "%'d" % 12345678 => 12,345,678 Though I'd lean toward the former. Feedback? Thanks. -roger- -- http://redmine.ruby-lang.org