October 2006
Intermediate to advanced
888 pages
16h 55m
English
There may be better ways to do it, but this one works. We reverse the string to make it easier to do global substitution and then reverse it again at the end:
def commas(x)
str = x.to_s.reverse
str.gsub!(/([0-9]{3})/,"\\1,")
str.gsub(/,$/,"").reverse
end
puts commas(123) # "123"
puts commas(1234) # "1,234"
puts commas(12345) # "12,435"
puts commas(123456) # "123,456"
puts commas(1234567) # "1,234,567"Read now
Unlock full access