mysql – 如何配置Rails以在表单字段中以正确的精度输出小数?

我想在我的(sqlite和mysql)数据库中存储货币.我正在尝试使用十进制列类型,其中:scale => 2.

这不符合预期.如果我保存记录:rate => 10.50,它作为10.5存储在我的sqlite数据库中.另外,当我在表单字段中输出值时,它显示为10.5.

每次我想在Rails表单中很好地显示值时,我不想做hacky字符串格式化.

有办法解决这个问题吗?这是一个sqlite的事吗?我只是误解了十进制列类型吗?

编辑:

为了澄清,我希望能够使用通常的表单生成方法

- form_for @project do |f|
  = f.text_field :rate

如果我必须显式格式化输出,我将不得不为每个十进制属性创建额外的方法

def formatted_rate
  "%.2f" % rate
end

= f.text_field :formatted_rate

有没有其他常见的技巧来强制输出格式,仍然使用认的Rails formbuilder?

解决方法:

您可以使用Rails ActionView Number Helper number_with_precision

number_with_precision(my_number, :precision => 2)

相关文章

SQLite架构简单,又有Json计算能力,有时会承担Json文件/RES...
使用Python操作内置数据库SQLite以及MySQL数据库。
破解微信数据库密码,用python导出微信聊天记录
(Unity)SQLite 是一个软件库,实现了自给自足的、无服务器...
安卓开发,利用SQLite实现登陆注册功能