2015-09-06 3 views
0

Я использую Stripe и получаю валюту, которая находится в гроши. Так что 12.90 выглядит как 1290. Я хочу преобразовать это в валюту США, но если я попытаюсь использовать метод number_to_currency, он будет выглядеть как 1,290,00. Есть ли способ конвертировать полную строку в валюту, чтобы она получилась правильно на 12.90?Конвертировать пенни в валюту с рельсами

Мой текущий код:

<h4>Total Payment Due: <%= number_to_currency(@user.total_cost)%> 
+2

Просто разделите на 100. – michaelmichael

+1

Я думаю, вы имеете в виду 12.90 вместо 12.95 в начале? – mahemoff

ответ

2

Вы должны быть в состоянии просто разделить на 100, но убедитесь, что это поплавок, то есть. используйте 100.0 для предотвращения округления до 12.00.

<h4>Total Payment Due: <%= number_to_currency(@user.total_cost/100.0)%> 

Это показывает $12.90.

+1

Чтобы быть ясным, * result * может быть поплавком, но не 'total_cost'; который может оставаться целым числом. – Makoto

+0

Обновленный ответ для ясности – mahemoff

+0

Вау, ну, я чувствую себя медленным благодаря ответу! – SupremeA

1

Вы также можете использовать деньги перл: https://github.com/RubyMoney/money

Money.new(100, "USD").format #=> "$1.00" 

Может быть излишним, но будет делать то, что вы хотите.

Смежные вопросы