powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как округлить
6 сообщений из 6, страница 1 из 1
Как округлить
    #32074680
alexmar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть такая ситуация: таблица учета кол-ва продуктов на складе. Основное поле - кол-во (тип float). Основные изменения происходят в этом поле: меняется кол-во при поступлении на склад или списывании и т.д. В принципе, все работает нормально, но иногда, в результате каких-либо математических действий, при UPDATE этого поля там появляется значение типа - 7.105427357601E-15, хотя по идее числа больше двух знаков после запятой в это поле никто не заводит, да и вычисления достаточно простые - вычитания или сложение. Подскажите, почему происходит изменение значения в поле. На клиенте все вычисления принудительно округляются до двух знаков.
...
Рейтинг: 0 / 0
Как округлить
    #32074684
Фотография ToRo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем вы вообще используете float?
Это приблизительный тип данных - от того и такие результаты - почитайте BOL.
например, лучше использовать money
...
Рейтинг: 0 / 0
Как округлить
    #32074689
YuriAM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не вникая в ситуацию - Используй функцию ROUND
...
Рейтинг: 0 / 0
Как округлить
    #32074698
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поменять бы конечно это поле на money

Но это если на клиенте на этот тип ничего не зашито - вызовы только через процедуры. Тогда смело можно в таблице тип поля менять.
...
Рейтинг: 0 / 0
Как округлить
    #32075370
AlexL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сложение и вычитание как раз самые опасные действия при близких значениях величин и часто приводят к таким цифрам, только кому они мешают? На дальнейших вычислениях они не скажутся, если надо отбросить нули сравнивай не с нулем, а с 0.0001, а для отображения в гриде поставь филду DisplayFormat '0.00' или я чего-то не понял?
...
Рейтинг: 0 / 0
Как округлить
    #32075379
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Количество обычно измеряется до трех знаков после запятой. Лучше использовать тип Decimal.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как округлить
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]