Re[3]: Проблема с плавающей точкой в SQL Server 2005
От: Mr.Cat  
Дата: 10.04.08 08:19
Оценка:
Здравствуйте, _orion_, Вы писали:
__>Да опечатался конечно же. Вместо 5,87 получаю 5,86999988555908.

Тогда это вполне нормально — такова специфика чисел с плавающей точкой. Если не нужна 100% точность — такая погрешность особо не помешает (единственное, может, стоит задуматься о real вместо float). Все равно при выводе результата юзеру будет округление до 2-4 знаков после запятой (вот от количества знаков и зависит, что использовать: float или real), и он ничего не заметит. Если нужна 100% точность — используйте decimal/numeric (или какой там аналог у ораклового NUMBER — который с фиксированной запятой, и нет погрешности представления десятичных дробей), money/smallmoney (вроде имеет какие-то особенности связанные с округлением копеек-центов) или вообще простое целое число.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.