如何将小数位添加到字符串的最后两个位置? Rails 4

How to add decimal place to last two positions in string? Rails 4

我正在尝试将字符串 1009 转换为 .09。我已经查看 NumberHelpers 的文档大约 15 分钟了,我有点惊讶我没有找到任何可以在字符串或整数的最后两个位置之前添加小数点分隔符 . 的方法。

起初,我试过:

number_to_currency("1009", :unit => "$")
# => ,009.00

然后我尝试使用:

number_to_currency("1009", :unit => "$", :precision => 0)
# => ,009

只去掉小数点后的数字,不移动小数点本身。同样,添加 -2 作为精度参数会抛出 ArgumentError.

我知道这可以通过几行 JavaScript 来实现,但我一直在寻找一种更纯粹的 Rails 方法,如果有的话。

如何才能做到这一点?

您可以将数字除以 100。这很简单而且有效。我猜你是把美分换成美元,我认为没有其他办法。

number_to_currency("1009".to_f / 100, :unit => "$")

你也可以为此写一个助手,比如...

def cents_to_usd(amount)
  number_to_currency(amount.to_f / 100, :unit => "$")
end

以便它在您看来更好看。