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

Только для тех, кто пишет плагины под Total Commander. Обмен опытом, решение проблем.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Ответить
Samwatas
Сообщения: 95
Зарегистрирован: Сб сен 12, 2009 20:26

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

Сообщение 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
Правда подтверждения от Гислера не последовало. Действительно тотал именно так округляет? И что именно он делает - округляет или отбрасывает незначащие цифры?
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

wdx4i и округление обсуждалось здесь
Samwatas
Сообщения: 95
Зарегистрирован: Сб сен 12, 2009 20:26

Сообщение Samwatas »

Так в том то и фишка, что плагин не округляет!
Притом, похоже, это чья-то самодеятельность
Это самодеятельность Гислера, плагин тут ни при чем. Единственная вина плага в том, что он возвращает данные типа ft_numeric_floating, в то время как ImgSize возвращает значение "Aspect Ratio" в виде ft_string (то есть простой строкой).
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

Да я не утверждал, что округляет именно плагин.
Я просто указал тему, в которой описанная проблема уже всплывала.
Samwatas
Сообщения: 95
Зарегистрирован: Сб сен 12, 2009 20:26

Сообщение Samwatas »

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