|
|
|
Ошибка DW Computed Object v6.5 - 10.0
|
|||
|---|---|---|---|
|
#18+
Добрый день. Опишу ошибку: При вычитание двух полей decimal {2} в поле Computed Object в восьмом разряде после запятой появляется число! Как это может быть? Числа такие: поле a = 516906610,99 поле b = 495544659,21 Computed Object a - b = 21361951,78000003 Что можно сказать про 000003 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2007, 12:42 |
|
||
|
Ошибка DW Computed Object v6.5 - 10.0
|
|||
|---|---|---|---|
|
#18+
Взгляните на формат компьютерного поля. Там,наверное,GENERAL. Поменяйе его на ваш формат,с которым вы работаете: ###,###,###.##,чо будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2007, 13:27 |
|
||
|
Ошибка DW Computed Object v6.5 - 10.0
|
|||
|---|---|---|---|
|
#18+
KOLCHOZ_POSTEVENTВзгляните на формат компьютерного поля. Там,наверное,GENERAL. Поменяйе его на ваш формат,с которым вы работаете: ###,###,###.##,чо будет? Если вы умеете замазывать ошибку, то это не значить, что на этом можно работать. Я нашел эту ошибку когда не сходятся суммы по дебету и кредиту на копейку, а должны были сходиться..... и форматом это уже не замажешь, а доверие к PB в целом и к Computed Object в частности упало... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2007, 13:39 |
|
||
|
Ошибка DW Computed Object v6.5 - 10.0
|
|||
|---|---|---|---|
|
#18+
Если с Вашей точки зрения на этом работать нельзя - не работайте! Вас к компьютеру наручниками приковали? Взаимоотношения с инструментом строятся не на доверии, а на знании и опыте. У Вас Computed считается через double, рассчитывать на точность больше 15 знаков не стоит. Если Вас это не устраивает, найдите способ посчитать так как Вам это надо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2007, 13:57 |
|
||
|
Ошибка DW Computed Object v6.5 - 10.0
|
|||
|---|---|---|---|
|
#18+
И неплохо бы версию PB указывать с точностью до билда. Телепаты в отпуске. (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2007, 14:00 |
|
||
|
Ошибка DW Computed Object v6.5 - 10.0
|
|||
|---|---|---|---|
|
#18+
BadgerДобрый день. Опишу ошибку: При вычитание двух полей decimal {2} в поле Computed Object в восьмом разряде после запятой появляется число! Как это может быть? Числа такие: поле a = 516906610,99 поле b = 495544659,21 Computed Object a - b = 21361951,78000003 Что можно сказать про 000003 ? Все операнды перед вычислением арифметической операции в DW приводятся к типу NUMBER(он же DOUBLE). А операция приведения типа в общем случае имеет погрешность. В данном случае погрешность на несколько порядков меньше точности операндов, поэтому достаточно просто округлить результат до точности операндов, чтобы получить верный и повторяемый результат: round(a - b, 2) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2007, 14:12 |
|
||
|
Ошибка DW Computed Object v6.5 - 10.0
|
|||
|---|---|---|---|
|
#18+
Если вам в расчётах нужен восьмой разряд,то,действительно,data window порет,тут некуда деваться. На 8 знаке после запятой плывёт. Но я думаю,что плывёт,специфичеки, computed field. Сожмите его в формате до 6,может,и в расчётах,этого хватит и, того,грязь не появится. Если заменить его полем и считать в скрипте-должно помочь. Теоритически,decimal должен держать до 18 знаков,а computed field-оно ж на все случаи жизни,своего типа не имеет,там наверное,в расчётах real или,что-то вроде этого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2007, 14:20 |
|
||
|
Ошибка DW Computed Object v6.5 - 10.0
|
|||
|---|---|---|---|
|
#18+
Такие ошибки возникают постоянно. Даже не надо ничего вычитать. После простого SetItem можем получить, например, 14.9999999999999998 вместо 15.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2007, 14:24 |
|
||
|
Ошибка DW Computed Object v6.5 - 10.0
|
|||
|---|---|---|---|
|
#18+
ЗоринАндрейИ неплохо бы версию PB указывать с точностью до билда. Телепаты в отпуске. (с) Да написал же что глючит то v6.5 - 10.0 включительно build у меня стоит 5064, но мне бы этот глюк на 6.5.1 победить нужно.... Anatoly MoskovskyВсе операнды перед вычислением арифметической операции в DW приводятся к типу NUMBER(он же DOUBLE). А операция приведения типа в общем случае имеет погрешность. В данном случае погрешность на несколько порядков меньше точности операндов, поэтому достаточно просто округлить результат до точности операндов, чтобы получить верный и повторяемый результат: round(a - b, 2) Наверное это самое полезное из всего вышесказанного, спасибо.... KOLCHOZ_POSTEVENTЕсли заменить его полем и считать в скрипте-должно помочь. заменил полем, не помогло Sum () по колонке выдает такую же погрешность.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2007, 14:48 |
|
||
|
|

start [/forum/topic.php?fid=15&gotonew=1&tid=1337029]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
10ms |
get first new msg: |
8ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 154ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...