如何使用number_to_currency
并删除小数部分中的零?
所以,如果我有一个30.50的数字,我想保留.50,但如果我有30.00,我想删除那些零。我看到了精度,但我不知道如果尾随小数为零,我是否可以有条件地使用它...
由于
答案 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