价格字段和美分分隔符

时间:2014-01-08 10:54:27

标签: ruby-on-rails

在我的申请表中,我有几个价格字段。在model中,它们属于float类型,当我想要显示它们时,我使用number_to_currency提供的NumberHelper方法,这很好用。但是,表单中的输入是一个问题。在荷兰,十进制数的分隔符是逗号,但有些人使用点。目前,只有带点的十进制数量才能正确保存。使用小数时,只保存整个金额。

所以我可能需要before_save sanitizer用点替换逗号。但我需要几个型号。这样做的最佳方式是什么?

2 个答案:

答案 0 :(得分:0)

作为api文档describes,方法number_to_currency可以使用:separator选项。

number_to_currency("1234567890,50", unit: "£", separator: ",", delimiter: "")

也许您可以设置区域设置并获得相同的结果。

答案 1 :(得分:0)

我在德国也有这个问题。

我一直在使用delocalize gem来执行“反向本地化”,尽管它仍然存在一些Rails 4的问题。(虽然它有效)

PS:不要使用浮点类型来表示货币,你会得到四舍五入的问题。请改用BigDecimal