Ruby Datamapper хранит десятичные дроби, отображаемые в научной нотации - PullRequest
4 голосов
/ 26 сентября 2010

У меня есть модель с названием delivery:

property :id,           Serial
property :created_at,   DateTime
property :updated_at,   DateTime

property :price, BigDecimal,    :precision => 10, :scale => 2

Delivery имеет цену, которая при просмотре в SQLite имеет значения, такие как 5.49, 6.95, 4.95

При отображении этой информации ввыходные данные (закодированные в haml), значения из delivery.price отображаются как 0.695E1, 0.495E1 и т. д.

Любая идея, почему они отображаются в этом формате, и как лучше их отображать «правильно».*

Вся помощь приветствуется!

1 Ответ

5 голосов
/ 28 сентября 2010

Преобразование в строку (BigDecimal#to_s) принимает параметр формата:

>> n = BigDecimal.new('5.49')
=> #<BigDecimal:100502958,'0.549E1',18(18)>
>> n.to_s
=> "0.549E1"
>> n.to_s('F')
=> "5.49"
...