Поле "Цена товара"

pilot911

Новичок
пытался сделать флоат, однако иногда вместо 7.21 пишется 7.2199999
 

findnext

Новичок
pilot911
float и real могут так делать, это нормально

-~{}~ 14.04.09 01:15:

http://technet.microsoft.com/en-us/library/ms187912.aspx

вот тут можно почитать
 

vovanium

Новичок
ну так для этих целей и сделали DECIMAL, либо как вариант можно хранить в копейках, центах в каком-нибудь INT'е
 

pilot911

Новичок
спасибо за подсказки

выбрал DECIMAL


ПС. удивило, что есть валюты типа Бахрейнского динара, состоящего из 1000 филсов
 

Фанат

oncle terrible
Команда форума
findnext
а зачем ты отредактировал нормальный ответ, сделав его идиотским?
 

fixxxer

К.О.
Партнер клуба
денежные суммы испокон веков хранят в обычном инте необходимого размера. * 100 (в копейках) или *10000 (или сколько там требуемая банковская точность при пересчете по курсам валют).

для ленивых придуман decimal, который суть то же самое :)
 

rotoZOOM

ACM maniac
денежные суммы испокон веков хранят в обычном инте необходимого размера. * 100 (в копейках) или *10000 (или сколько там требуемая банковская точность при пересчете по курсам валют).
А как насчет регулярного вычисления процентов и их капитализации. Все округляем в пользу кого? :)
 

pilot911

Новичок
Автор оригинала: rotoZOOM
А как насчет регулярного вычисления процентов и их капитализации. Все округляем в пользу кого? :)
на мой взгляд магазин должен оперировать конечными ценами, а не быть мини-бухгалтерией с вычислением налога
 

fixxxer

К.О.
Партнер клуба
насколько я помню в финансовых расчетах .xxxx5 округляется поочередно в ту или иную пользу :)
 

rotoZOOM

ACM maniac
pilot911 Да, прошу прощения. Для конечных цен конечно лучше использовать вариант фиксксксера.

-~{}~ 14.04.09 16:28:

fixxxer А если хранить ввиде натуральных дробей (регулярно их сокращая), то и округлять придется только при выдаче конечного результата. :)
 

Активист

Активист
Команда форума
Использую FLOAT, sprintf или number_format для вывода. Любая точность. В чем проблема?
 

prolis

Новичок
1.в поле суммы нельзя хранить иную другую сумму, отличную от суммы учета на балансе
2.на балансе в основных валютах учет ведется до сотых значений (коп, центы)
3.при расчетных операциях используется округление
 
Сверху