Как получить до мест после запятой в Ruby или Rails - PullRequest
0 голосов
/ 07 февраля 2011

Я пытаюсь указать валюту.

>> 100.00

Я пробовал это:

irb(main):021:0> 100.number_to_currency
NoMethodError: undefined method `number_to_currency' for 100:Fixnum
    from (irb):21

Я пробовал это:

irb(main):021:0> 100 * 1000.round.to_f/1000
=> 100.0

Есть идеи? Rails3 + Ruby 1.8.7

1 Ответ

4 голосов
/ 07 февраля 2011

number_to_currency - это вспомогательный метод Rails - это не экземплярный метод Fixnum. В Rails 2.3.8, по крайней мере, вы можете сделать:

number_to_currency(100)

Хотя вам может понадобиться:

number_to_currency(100, :precision => 2)

Чтобы получить правильное количество десятичных знаков. Вы можете изменить настройки по умолчанию и множество других параметров отображения, отредактировав свои файлы перевода I18n.

Или, если вам просто нужен быстрый ввод, который можно легко запустить из консоли:

sprintf('%.02f', 100)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...