Ответ 1
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
Как я могу использовать number_to_currency
и удалить его в десятичной части?
Итак, если у меня есть номер 30.50, я хочу сохранить .50, но если у меня есть 30.00, я хочу удалить эти нули. Я вижу точность, но я не знаю, могу ли я использовать ее условно только для применения, если конечные десятичные числа - это нули...
Спасибо
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
Я использую денежные строки, поэтому я делаю это по-другому:
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