我通过整数类型存储为cents
的数据库中的钱。显示时:我将其转换为浮点数,因为我想以美元金额显示金额。我总是希望用两位数字来显示数字:
例如:
5000 => 50.00
500 => 5.00
50 => 0.50
5 => 0.05
0 => 0.00
最难的是让50
转换为0.50
,因为它是一个浮点数,它想要转换为0.5
。
当前不起作用的方法:
def cents_to_currency_string
return if cents.nil?
(cents.to_f / 100)
end
答案 0 :(得分:4)
利用您自己的实施:
def cents_to_currency_string(cents)
return if cents.nil?
dollars = cents.to_f/100
'%.2f' % dollars
end
答案 1 :(得分:1)
您可以稍微编辑一下您的方法:
def cents_to_currency_string(cents)
return if cents.nil?
(cents.to_f / 100).to_s.ljust(4,'0')
end
答案 2 :(得分:0)
你可以通过几种不同的方式做到这一点。最简单的方法是做这样的事情
def display(n)
if n % 100 < 10
"$#{n/100}.0#{n%100}"
else
"$#{n/100}.#{n%100}"
end
end
然后你可以像这样显示它
puts centize(n)