Rails 的 number_to_currency 精度无效 - 这是一个 bug 吗?

3

我正在尝试在Rails 3中使用number_to_currency获取小数点后两位,但只能得到一位。我的数据库字段定义如下:

t.decimal  "amount",              :precision => 5, :scale => 2

在我的模板中,我有以下内容:

#{number_to_currency(@purch.amount)}

然而,我得到的结果是:PLN 34.7
在数据库中,我可以清楚地看到:34.70
我想看到我的第二个零 - 这是一个特性还是我漏掉了什么?

谢谢!

2个回答

3
答案是检查自己的区域配置文件中以下设置:
  currency:
      format:
        strip_insignificant_zeros: false

2

由于您似乎正在使用自定义的语言环境,请通过显式设置number_to_currency选项来强制执行所需的行为:

number_to_currency(@purch.amount, :precision => 2)

您还可以在您的语言环境文件中设置这些选项。请查看http://guides.rubyonrails.org/i18n.html了解更多信息。

2
我已经尝试了:precision,但是也没有得到任何结果。不过,非常感谢你指出了区域选项,我发现我将:strip_insignificant_zeros设置为了true,这就是解决我的问题的答案。谢谢! - iRonin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接