2012-07-26 24 views
14

number_to_currency'u nasıl kullanabilirim ve ondalık kısımdaki sıfırları silebilirim?Raylar: Para birimi için numaraya, sıfırları sil

Yani, 30.50 numaralı bir numaram varsa, .50'yi tutmak istiyorum, ancak 30,00'um varsa, bu sıfırları silmek istiyorum. Ben kesinlik görüyorum ama sondaki ondalık sayılar sıfır ise sadece uygulanacak şartlı kullanabilirsiniz eğer bilmiyorum ...

Teşekkür

cevap

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

Paranın dizeleri kullanmak, bu yüzden yapmak farklı bir yol:

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 
İlgili konular