|
|
|
Как округлить
|
|||
|---|---|---|---|
|
#18+
Есть такая ситуация: таблица учета кол-ва продуктов на складе. Основное поле - кол-во (тип float). Основные изменения происходят в этом поле: меняется кол-во при поступлении на склад или списывании и т.д. В принципе, все работает нормально, но иногда, в результате каких-либо математических действий, при UPDATE этого поля там появляется значение типа - 7.105427357601E-15, хотя по идее числа больше двух знаков после запятой в это поле никто не заводит, да и вычисления достаточно простые - вычитания или сложение. Подскажите, почему происходит изменение значения в поле. На клиенте все вычисления принудительно округляются до двух знаков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2002, 15:24:22 |
|
||
|
Как округлить
|
|||
|---|---|---|---|
|
#18+
Зачем вы вообще используете float? Это приблизительный тип данных - от того и такие результаты - почитайте BOL. например, лучше использовать money ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2002, 15:28:40 |
|
||
|
Как округлить
|
|||
|---|---|---|---|
|
#18+
Не вникая в ситуацию - Используй функцию ROUND ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2002, 15:31:18 |
|
||
|
Как округлить
|
|||
|---|---|---|---|
|
#18+
Поменять бы конечно это поле на money Но это если на клиенте на этот тип ничего не зашито - вызовы только через процедуры. Тогда смело можно в таблице тип поля менять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2002, 15:42:10 |
|
||
|
Как округлить
|
|||
|---|---|---|---|
|
#18+
Сложение и вычитание как раз самые опасные действия при близких значениях величин и часто приводят к таким цифрам, только кому они мешают? На дальнейших вычислениях они не скажутся, если надо отбросить нули сравнивай не с нулем, а с 0.0001, а для отображения в гриде поставь филду DisplayFormat '0.00' или я чего-то не понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2002, 06:19:16 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=3365&tid=1818328]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
30ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 333ms |

| 0 / 0 |
