2012-07-26 33 views
14

Come è possibile utilizzare number_to_currency e far eliminare gli zeri nella parte decimale?Rails: numero della valuta, eliminazione degli zeri finali

Quindi se ho un numero 30.50, voglio mantenere il .50, ma se ho 30.00, voglio cancellare quegli zeri. Vedo la precisione, ma non so se posso usare condizionatamente al solo essere applicato se i decimali finali sono zeri ...

Grazie

risposta

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

Io uso le stringhe di denaro, così faccio è un altro modo:

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 
Problemi correlati