2012-07-26 13 views
14

number_to_currencyを使用して小数点以下の桁数を削除するにはどうすればよいですか?Rails:数値を通貨に、末尾のゼロを削除する

もし30.50という数字があれば、.50を残しておきたいが、もし30.00があれば、それらのゼロを削除したい。私は精度を見ますが、末尾の小数がゼロであれば、私はちょうど適用することに条件付きでそれを使用することができるかどうかはわからない...

おかげ

答えて

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 
関連する問題