Выбор типа поля для хранения рублей

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Аватара пользователя
MaxOtto
Сообщения: 139
Зарегистрирован: 2010.01.30, 17:44

Выбор типа поля для хранения рублей

Сообщение MaxOtto »

Добрый день!

Просвятите неграмотного, пож-ста!

Необходимо хранить в базе MYSQL финансовые данные с точностью до копеек.

Использовать поля типа "DOUBLE" не хочется, так как встречался, когда значение записывается в поле как "3,62", а считывается как "3,6199999999999" (InterBase).

Выход был таким, что данные в базе хранятся в поле типа INT и трактуются, как сумма в копейках. Соответственно для ввода/вывода этих значений в рублях приходится "на лету" умножать/делить на 100. Не очень здорово, как мне кажется.

Вот собственно вопрос - какой типа данных MySql выбрать? Или в MySQL нет такой проблемы?

Спасибо!
Nafania
Сообщения: 1227
Зарегистрирован: 2011.01.31, 13:12

Re: Выбор типа поля для хранения рублей

Сообщение Nafania »

Я все цены храню в DOUBLE(10,2) и нет проблем.
Вы точность указывали при создании поля?
zibert02
Сообщения: 203
Зарегистрирован: 2010.11.24, 17:29

Re: Выбор типа поля для хранения рублей

Сообщение zibert02 »

когда получаете значение с базы то делайте округление до сотых
Аватара пользователя
MaxOtto
Сообщения: 139
Зарегистрирован: 2010.01.30, 17:44

Re: Выбор типа поля для хранения рублей

Сообщение MaxOtto »

О! спасибо за быстрые ответы!

Я еще ничего не указывал - вот прямо сейчас проектирую структуру и выбираю тип поля для новой таблицы.

Сча поискал в Инете, там тоже увидел, что DECIMAL спасает. Уже хотел вопрос удалять, но раз есть ответы - не буду!

Спасиб еще раз!
Nafania
Сообщения: 1227
Зарегистрирован: 2011.01.31, 13:12

Re: Выбор типа поля для хранения рублей

Сообщение Nafania »

Вообще, для точности до сотых без разницы в чем хранить - DOUBLE (n,2) или DECIMAL, а вот для точности 6 и более знаков после запятой надо однозначно использовать DECIMAL.
Аватара пользователя
BuCeFaL
Сообщения: 447
Зарегистрирован: 2010.03.17, 21:22
Откуда: Kiev
Контактная информация:

Re: Выбор типа поля для хранения рублей

Сообщение BuCeFaL »

Почему бы не хранить как целое число копеек.
Аватара пользователя
sergebezborodov
Сообщения: 133
Зарегистрирован: 2010.06.10, 19:53
Откуда: Dnepropetrovsk-Sevastopol, UA
Контактная информация:

Re: Выбор типа поля для хранения рублей

Сообщение sergebezborodov »

Самое главное - не используйте FLOAT
он не предназначен для точных вычислений
A passion to perform
http://sergebezborodov.com
Ответить