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

时间:2015-03-24 16:37:32

标签: ruby-on-rails ruby-on-rails-4 number-formatting

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

起初,我试过了:

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

然后我尝试使用:

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

仅删除小数位后的数字,但不会移位小数位。同样,添加-2作为精度参数会抛出ArgumentError

我知道这可以用几行JavaScript做,但我正在寻找更纯粹的Rails方法,如果有的话。

有人能怎样做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以将数字除以100.它很简单且有效。我猜你是把美分兑换成美元,我不认为还有别的办法。

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

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

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

所以你的观点看起来更好。