2012-07-26 15 views
14

Jak mogę użyć zer number_to_currency i usunąć zera w części dziesiętnej?Szyny: numer do waluty, usuń końcowe zera

Więc jeśli mam numer 30.50, chcę zachować .50, ale jeśli mam 30,00, chcę usunąć te zera. Widzę precyzję, ale nie wiem, czy mogę go używać tylko warunkowo być stosowane, jeżeli końcowe dziesiętne są zerami ...

Dzięki

Odpowiedz

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

używam strun pieniędzy, więc mogę zrobić to inaczej:

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 
Powiązane problemy