Возможно, вы захотите использовать тип DECIMAL
в своей базе данных. В своей миграции сделайте что-то вроде этого:
# precision is the total number of digits
# scale is the number of digits to the right of the decimal point
add_column :items, :price, :decimal, :precision => 8, :scale => 2
В Rails тип :decimal
возвращается как BigDecimal
, что отлично подходит для расчета цены.
Если вы настаиваете на использовании целых чисел, вам придется вручную конвертировать в и из BigDecimal
s везде, что, вероятно, станет просто болью.
Как указано в mcl, для печати цены используйте:
number_to_currency(price, :unit => "€")
#=> €1,234.01