Я сохраняю строку цены в моей базе данных в столбце десятичного типа. Цена приходит как «$ 123.99», что хорошо, потому что я написал немного кода, чтобы удалить «$» (знак доллара и пробел). Однако, похоже, я забыл, что цена может включать запятую. поэтому «$ 1,234,99» разбивает мой код. Как я могу удалить запятую?
Это мой код, чтобы удалить знак доллара и пространство:
def price=(price_str)
write_attribute(:price, price_str.sub("$ ", ""))
# possible code to remove comma also?
end
Лучшей практикой является сохранение цены в виде номера, а затем форматирование ее по мере необходимости в зависимости от вида (с помощью «$» или того, что вам нужно). Это вариант? – lurker
Согласовано. Цена - это тип стоимости, которую вы можете математически суммировать или манипулировать. Он должен быть числовым. –