|
|
|
Round DataWindow expression function & PB 10.5.1 (6565)
|
|||
|---|---|---|---|
|
#18+
Фнукция просто не работает: например round(10.145) = 10.14 Это только у меня или еще у кого так? Я знатно извратился, написав примерно так округление до 2-ого знака прямо на вычисляемом поле в DW: Truncate(var_a, 2) + 0.01*if( integer(mid(string(var_a), pos(string(var_a),'.',1)+3,1)) >= 5, 1, 0) Можно конечно написать внешнюю функцию более красиво и звать так же в DW в вычисляемых колонках, но беда не приходит одна и например, если в формате указать точность до 2 знака: #,##0,00 то судя по всему неявно вызывается round и округление опять работает по принципу truncate, что вообще бардак, поскольку во ВСЕХ отчетах используется формат вывода и потому он неверный ... приехали полный пипец ... пока не все знают и пока тихо... В особо ответственных местах вычисления связанные с округлением перенес в процедуры (ранее они возвращали полную точность с большим хвостиком и на клиенте хвостик рубили на сколько надо, теперь рублю сразу в процедуре) какие мысли и предложения ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2007, 10:57 |
|
||
|
Round DataWindow expression function & PB 10.5.1 (6565)
|
|||
|---|---|---|---|
|
#18+
Сменить build, написать bug-report в SyBase. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2007, 11:13 |
|
||
|
Round DataWindow expression function & PB 10.5.1 (6565)
|
|||
|---|---|---|---|
|
#18+
На чистой минорной версии 10.5.1 (6021) Maintenance без каких либо EBF результат тот же. про bug-report в SyBase понятно. Одно непонятно как можно такую громкую ошибку попустить на протяжении стольких версий билдов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2007, 11:45 |
|
||
|
Round DataWindow expression function & PB 10.5.1 (6565)
|
|||
|---|---|---|---|
|
#18+
PavelBuilderОдно непонятно как можно такую громкую ошибку попустить на протяжении стольких версий билдов. Это может только свидетельствовать о том, что SyBase не использует автоматическую систему тестирования ПО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2007, 11:54 |
|
||
|
Round DataWindow expression function & PB 10.5.1 (6565)
|
|||
|---|---|---|---|
|
#18+
PavelBuilderФнукция просто не работает: round(10.145) Нет такой ф-и в PB. Есть ф-я round(10.145, 2) #,##0,00 Здесь опечатка или именно такой формат был использован? У меня не повторяется на указанном Вами билде. Все правильно работает: и округление через round и округление через формат вывода. Пример простого DW сюда запостите, на котором повторяется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2007, 12:15 |
|
||
|
Round DataWindow expression function & PB 10.5.1 (6565)
|
|||
|---|---|---|---|
|
#18+
Попробовал новое DW создать - external с единственной колонкой decimal(4) вычисляемое поле с round() возвращает верный результат. Сделал экспор-импорт проблемного DW, тупо добавил вычисляемое поле: round(10.145, 2) выдало верно: 10.15 (вчера без "экспорта -импорта" было 10,14), однако round(< колонка из базы со значением = 10,145 >, 2) = 10,14 может туплю, слона не вижу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2007, 13:15 |
|
||
|
Round DataWindow expression function & PB 10.5.1 (6565)
|
|||
|---|---|---|---|
|
#18+
От до чего ленивый народ пошел. Код: plaintext 1. 2. 3. Все округляется OK. Теперь Ваша очередь приводить пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2007, 14:59 |
|
||
|
Round DataWindow expression function & PB 10.5.1 (6565)
|
|||
|---|---|---|---|
|
#18+
формат отображения #,##0.000 Может в этом загадка: вот два вычисляемых поля: 1. sum( fees_a for all ) 2. sum( if( nontraded_f = 'Y', 0, fees_a ) for all ) Первое правильно округляется, второе - нет Пример DW бросить не могу (работаю через терминал, просто так файлы не перебросишь), потому вот так описываю. Суть кратко: есть флажок - nontrades_f - ликвиды/неликвиды и нужно получить комиссию по ликвидам/неликвидам и комиссию вообще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2007, 17:28 |
|
||
|
|

start [/forum/topic.php?fid=15&gotonew=1&tid=1337301]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
61ms |
get topic data: |
8ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 273ms |
| total: | 422ms |

| 0 / 0 |
