2012-07-26 104 views
14

如何使用number_to_currency并使其在小数部分删除零?所以如果我有一个数字30.50,我想保留.50,但如果我有30.00,我想删除这些零。我看到的精度,但我不知道我是否可以有条件地使用它只是被应用,如果尾随小数零...Rails:Number to currency,删除尾随零

感谢

回答

33
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 
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