我有一个模型,叫做交付:
property :id, Serial
property :created_at, DateTime
property :updated_at, DateTime
property :price, BigDecimal, :precision => 10, :scale => 2
交货是有价格的,在SQLite中查看是5.49、6.95、4.95等值
在输出中显示此信息时(以 haml 编码),delivery.price 中的值显示为 0.695E1、0.495E1 等
知道它们为什么以这种格式显示,以及如何最好地“正确”显示它们。
感谢所有帮助!
最佳答案
转换为字符串(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"
关于Ruby Datamapper 存储以科学记数法显示的小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3799102/