Есть ли в Ruby классы для форматирования чисел? - PullRequest
44 голосов
/ 14 ноября 2010

Есть ли в Ruby какие-либо классы или методы Formatter, которые можно использовать для форматирования чисел для таких вещей, как валюта и т. Д., Или есть какие-либо гемы, которые делают это, или вам приходится писать свои собственные?

Ответы [ 4 ]

76 голосов
/ 14 ноября 2010

В Ruby есть все стандартные форматеры печати, доступные либо через printf, sprintf, либо используя 'formatstring' % [var1, ...].

>> '%.2f' % 3.14159 #=> "3.14"
>> '%4s %-4s' % ['foo', 'bar'] #=> " foo bar "
9 голосов
/ 21 июня 2014

Попробуйте это:

1234567890.123.to_s.reverse.gsub(/(\d{3})(?=\d)/, '\\1,').reverse
=> "1,234,567,890.123"

Взято из комментария @pguardiario в аналогичной теме

7 голосов
/ 14 ноября 2010

Вы можете использовать Kernel#sprintf (или Kernel#format) и делать это таким образом. API Link .

0 голосов
/ 14 ноября 2010

Вы можете проверить рубин на рельсах ActionView :: Helpers :: NumberHelper

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...