Книга: Программирование на языке Ruby

5.6. Вставка разделителей при форматировании чисел

5.6. Вставка разделителей при форматировании чисел

Возможно, есть и более удачные способы достичь цели, но приведенный ниже код работает. Мы инвертируем строку, чтобы было удобнее выполнять глобальную замену, а в конце инвертируем ее еще раз:

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"

Оглавление книги

Оглавление статьи/книги

Генерация: 2.207. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз