Суббота, 16.12.2017, 21:27
Приветствую Вас Гость

Не ошибается тот, кто ничего не делает.
Но и ничего не делать - ошибка.

Эмиль Кроткий

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум » Delphi » Форум по программе Склад » Какой тип данных выбрать для хранения цены товара? (Обсуждаем тип данных.)
Какой тип данных выбрать для хранения цены товара?
xaramamburuДата: Воскресенье, 25.09.2011, 12:46 | Сообщение # 1
Полковник
Группа: Администраторы
Сообщений: 240
Репутация: 26
Статус: Offline
Как показывает опыт, тип поля базы данных для хранения цены - лучше использовать денежный(основной с четырьмя знаками после запятой), а для хранения количества (денежный(основной с тремя знаками после запятой), в место полей числовой (одинарное с плавающей точкой).Поэтому если не хотите ловить проблемы с копейками и граммами измените типы полей в базе данных. Вместо денежного типа можно использовать числовой(действительное) с указанием количества цифр до запятой и после запятой (тип Decimal).
 
AvatarДата: Пятница, 30.09.2011, 23:13 | Сообщение # 2
Рядовой
Группа: Пользователи
Сообщений: 2
Репутация: 0
Статус: Offline
Почему денежный тип использовать лучше чем, допустим числовой с плавающей точкой двойной точности? Ведь у денежного типа четыре разряда, а у типа с двойной точностью более 14 разрядов после запятой.

Andrey
 
xaramamburuДата: Пятница, 30.09.2011, 23:32 | Сообщение # 3
Полковник
Группа: Администраторы
Сообщений: 240
Репутация: 26
Статус: Offline
Если пользоваться не денежным типом данных и производить интенсивные вычисления, то на миллиардных суммах очень быстро поплывут копейки и даже рубли.
Дело в том, что у типов с плавающей точкой положение этой точки не постоянное и если в процессе вычисления число будет сильно большое, то точка уплывет поближе к левому краю, и копейки пропадут. Кроме того, так как в формате с плавающей точкой все числа хранятся приближенно, то даже при небольших числах, при их интенсивном использовании, например в приходе и расходе товара, хвост числа начинает расходиться. И при вычислении остатка этот хвост придется обрубать до нескольких знаков после запятой, иначе остаток товара и цена не будет сводиться к нулю.
 
Форум » Delphi » Форум по программе Склад » Какой тип данных выбрать для хранения цены товара? (Обсуждаем тип данных.)
Страница 1 из 11
Поиск:


Copyright MyCorp © 2017Конструктор сайтов - uCoz