Страница 1 из 1

Проблемы округления типа ft_numeric_floating в Тотале

Добавлено: Сб окт 02, 2010 14:42
Samwatas
Вылизываю я тут свою библиотеку работы с wdx, и сталкиваюсь с разными проблемами. Часть я конечно решил, но встречаются различные ньюансы, об одном из которых я бы хотел поговорить. Это тип данных ft_numeric_floating (64-bit floating point variable (ISO standard double precision)). Плагин (в данном случае wdx4i.wdx) возвращает 1.25 , но тотал показывает 1.3 (то есть видимо радикально округляет). На английском форуме я нашел обсуждение этой проблемы (которое началось еще в 2005 году!). Короче судя по ответам (в том числе самого Гислера) так и было задумано. Но тогда непонятно, как должна возвращать значение моя утилита - так же округляя, как и тотал (в целях совместимости)? Но как именно тотал округляет? Один пользователь высказал предположение
It seems that the rule is: if number<1 then 2 significant digits; if 1<=number<10 then 1 significant digit; if number>=10 then no significant digits
Правда подтверждения от Гислера не последовало. Действительно тотал именно так округляет? И что именно он делает - округляет или отбрасывает незначащие цифры?

Добавлено: Сб окт 02, 2010 15:11
Tol!k
wdx4i и округление обсуждалось здесь

Добавлено: Сб окт 02, 2010 15:36
Samwatas
Так в том то и фишка, что плагин не округляет!
Притом, похоже, это чья-то самодеятельность
Это самодеятельность Гислера, плагин тут ни при чем. Единственная вина плага в том, что он возвращает данные типа ft_numeric_floating, в то время как ImgSize возвращает значение "Aspect Ratio" в виде ft_string (то есть простой строкой).

Добавлено: Сб окт 02, 2010 16:09
Tol!k
Да я не утверждал, что округляет именно плагин.
Я просто указал тему, в которой описанная проблема уже всплывала.

Добавлено: Сб окт 02, 2010 16:17
Samwatas
Да я в принципе разобрался (буду округлять как тотал), просто в процессе работы выплывает столько глюков как в плагах, так и в тотале (хотя Гислер такое странное округление глюком не считает), что я вообще удивляюсь, как это всё работает (не иначе как на честном слове). Как говорится, всё держится на сплошных соплях :D (я имею в виду некоторые плагины). Я себе пока не представляю, как моя утиль будет работать с этими глюковатыми поделками :lol: (так что поддержку всех wdx плагов я не гарантирую). Я стараюсь работать с плагами в строгом соответствии с СДК.