2013-07-05 2 views
2

Привет, Я использую ruby ​​on rails framework, и у меня есть переменная цены, которая является десятичной. Естественно, такие ценности, как $ 39,99, хороши, но когда цена составляет 39,90 долларов США, мое приложение показывает цену в 39,9 доллара. Как я могу это изменить.Преобразование десятичного в формат цены в Ruby

Мой взгляд

% б цена

= @ product.price

ответ

4

рельсы включает в себя вспомогательный помощник number_to_currency(@product.price). Немного проще и легче запомнить.

1

Стандартный ответ здесь заключается в использовании sprintf.

sprintf("$%2.2f", @product.price) 

Это будет отформатировать ваш номер с помощью знака доллара, а затем числа до двух знаков после запятой.

1

Если вы хотите, вы можете написать свой собственный вспомогательный метод для этого.

def num_to_currency price 
    "$#{price.to_i}."+"#{(price % 1.0)}"[2..3] 
end 

1.9.3 (main):0 > num_to_currency 6.90 
=> "$6.90" 
Смежные вопросы