Rails:数字到货币,删除尾随零

时间:2012-07-26 02:46:47

标签: ruby-on-rails number-to-currency

如何使用number_to_currency并删除小数部分中的零?

所以,如果我有一个30.50的数字,我想保留.50,但如果我有30.00,我想删除那些零。我看到了精度,但我不知道如果尾随小数为零,我是否可以有条件地使用它...

由于

2 个答案:

答案 0 :(得分:35)

num = 30.00
number_to_currency(num, :precision => (num.round == num) ? 0 : 2)
  => $30

num = 30.05
number_to_currency(num, :precision => (num.round == num) ? 0 : 2)
  => $30.05

答案 1 :(得分:0)

我使用金钱字符串,所以我采用不同的方式:

def string_to_cents str
    new_str = number_to_currency(str,  :format => "%n")
    if new_str && new_str[-3..-1] == ".00"
        new_str[-3..-1] = ""
    end
    new_str
end