2012-05-18 4 views
27

Я использую Rails 3.2.2, и я хотел бы магазин и ручка процентное значение в столбце таблицы базы данных. Что вы советуете (например, какой тип - :integer, :float, :decimal, ... - из колонки, которую я должен установить)? Есть ли какое-то предупреждение, которое я должен/должен знать о хранении процентных значений?Как сохранить процентное значение?

Точность должна быть (1.99%, 50.01%, ...).

Примечание: Я читаю this post.

+2

Итак, прочитав этот пост, что до сих пор неясно? –

ответ

32

Это немного зависит от того, как вы планируете использовать значение, но обычно decimal будет хорошим выбором для хранения процентов. Обратите внимание, что вы можете сохранить его как процентное значение (10.01) или как дробное (.1001). Таким образом, это повлияет на фактический размер и точность столбца.

Выбор между хранением в процентах или долей зависит от потребностей в использовании, но я подозреваю, что в большинстве ситуаций было бы проще хранить его как долю (например, 10 для представления 10%), потому что это могут быть использованы непосредственно в большинстве вычислений легче (не нужно помнить, чтобы делить на 100).

И как отмечает @ismaelga в комментариях, десятичный знак является хорошим выбором для точности (особенно хорошо при работе с денежными расчетами).

+1

Согласованный, десятичный знак хорош, так как он имеет особую точность в уме. –

+0

Я бы добавил в этом вопросе, что десятичный знак хорош, поэтому есть точность и нет необходимости в конверсиях от float до десятичного. –

+0

@ismaelga: Очень хорошая точка. Я добавил эту информацию. Благодарю. –

Смежные вопросы