크리에이티브 커먼즈 라이선스
Creative Commons License

class Integer
    def to_comma_str
        original_string = self.to_s
        
        result_string = ""
        3.step(original_string.size, 3) do |i|
            result_string = "," + original_string[-i, 3] + result_string
        end
        reminder = original_string[0, original_string.size % 3]

        if reminder == ""
            result_string[1..result_string.size-1]
        else
            reminder + result_string
        end
    end
end

puts 1.to_comma_str
puts 12.to_comma_str
puts 123.to_comma_str
puts 1234.to_comma_str
puts 12345.to_comma_str
puts 123456.to_comma_str
puts 1234567890.to_comma_str
puts 123456789012345678901234567890.to_comma_str


Output:
1
2
3
4
5
6
7
8
1
12
123
1,234
12,345
123,456
1,234,567,890
123,456,789,012,345,678,901,234,567,890
저작자 표시 비영리 동일 조건 변경 허락

'루비' 카테고리의 다른 글

tmpdir  (0) 2009/06/20
BitArray from sloth  (3) 2009/03/17
ruby 숫자에 세자리마다 쉼표를 집어넣기  (0) 2008/11/05
팩토리얼  (4) 2008/10/09
Ruby/SDL - 최근 근황  (1) 2008/09/30
Ruby/SDL - 요즘 심심풀이로 하는것  (5) 2008/09/22
TAG ,

댓글을 달아 주세요