Этот вопрос задавался много раз раньше, но я нашел противоречивые мнения по этой теме, поэтому я подумал, что снова подниму его в надежде на более унифицированный вывод.
Я хотел бы сохранить значение валюты в моей базе данных. Предположим, что все записи представляют собой один и тот же тип валюты (например, доллар США) и что допустимы как положительные, так и отрицательные значения.
Моя первоначальная мысль заключалась в том, чтобы сохранить значение как целое число со знаком в терминах наименьшей единицы соответствующей валюты. Например, если я хочу сохранить значение $1,25, я бы ввел 125
в базу данных, так как наименьшая единица USD составляет 0,01 доллара США. Самое приятное в этом методе заключается в том, что MySQL автоматически округляется до ближайшего целого. Например, если значение доллара составляет $1,259, я мог бы вставить 125.9
, который будет автоматически округлен и сохранен как 126
или $1.26.
Итак, что вы думаете? Является ли это правильным подходом или есть лучший способ?