Удалить десятичное число из number_to_currency

У меня есть цена поплавка:

number_to_currency(m.price, :locale => 'en_us')

Я получаю: $39.00

Как удалить .00, я хочу получить:

$39

Ответы

Ответ 1

Вы можете установить точность 0 как документально подтвержденную здесь в Документах API Rails.

number_to_currency(m.price, locale: :en, precision: 0)

Помните, что ваши цены будут округлены, что-то от $38.50 до $39.49 будет отображаться как $39.

Изменить: обмен locale :en_us для :en, который может быть включен в других приложениях.

Ответ 2

Предполагая, что вы хотите пропустить десятичные знаки только в случае 0 центов, как насчет

number_to_currency(m.price, :locale => 'en_us').gsub(/\.00$/, "")