Rails两位小数,0表示不保存

时间:2013-03-13 19:43:19

标签: ruby-on-rails

当我在我的表单中输入3.50的价格时,rails将其以3.5的形式保存到数据库中,但是当我输入其他任何不像零的情况时那样的3.51它将其保存为3.51。如果输入3.50,我需要将3.50作为json返回。

以我的简单形式,我将其用于输入

<%= f.input :price, :value => number_to_currency(f.object.price, :precision => 2) %>

Schema

 t.decimal  "price",              :precision => 10, :scale => 2

关于为什么零下降的任何想法?

2 个答案:

答案 0 :(得分:1)

因为0并不重要。它与rails无关。在控制台中输入3.50,它将返回3.53.50只是您的号码的字符串表示形式。当它被转换为浮点数时,没有必要使用0。

为什么你需要返回3.50?另一种方法是在创建json时自己添加它。

答案 1 :(得分:1)

只要将数字存储为数字,大多数数据库都会将其保留为最简单的数字。一旦数字成为字符串,那就是确保任何前导或尾随零的时间。