我正在使用Roo gem从电子表格中导入一些值。
一个单元格的值为9.29
但导入后会保存为9.289999999999999
所以我添加了导入方法:
product.standard_price = row["standard_price"].to_f.round(2)
我认为应该围绕它,但没有变化。
我也像这样改变了列精度
change_column:products,:standard_price,:decimal,:precision => 10,:scale => 2
但仍然存储为9.289999999999999
即使我编辑这个条目并放入9.29,它也会存储所有这些小数。
这对我来说是一个谜。
答案 0 :(得分:1)
通常最好将价格存储为整数。所以你必须乘以100并存储该值,例如929.然后,当您显示数字时,只需将您从数据库中获得的数字除以100。
或者,您可以将其存储为文本格式。