14

number_to_currency小数部分のゼロを使用して削除するにはどうすればよいですか?

したがって、数字が 30.50 の場合は .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 に答える