14

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

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

谢谢

4

2 回答 2

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
于 2012-07-26T02:51:17.350 回答
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
于 2015-04-22T23:13:50.450 回答