Александр1981 писал(а):
Да нет формат %2.2f в репорте округляет 5ки в ту сторону 10.025 ~ 10.03 а вот GED чегото 10.0249 округляет не 10.03 как должно быть а в 10.02
Мне кажется что в Ged округления берёт с 3-го знака после запятой игнорирую 4-й знак и в параметр ID[-10] (Довжина ліній) загоняет именно такие неправельные округления, нужно это исправить
Digitals округляет правильно и это обычное округление, где 5 округляется вверх. При округлении до 2-х знаков учитывается значение от 3-го знака и до самого младшего разряда. Если сместить десятичный разделитель для числа 10.0249 на 2 знака вправо и отбросить целую часть, получим число 0.49, что меньше 0.5, значит округляем вниз.
Суть вашей проблемы в том, что функция FormatFloat в Reports работает иначе. В итоге получаем несоответствие длин линий на плане и в каталоге координат. Желательно в Reports передавать уже округленные с нужной точностью значения, тогда не потребуется что-то выдумывать в скрипте шаблона и соответствие данных будет гарантировано.
Насколько я понял, вам необходимо выдавать координаты в каталоге координат с точностью 3 знака после запятой, а длины линий с точностью 2 знака. Установите в настройках
Вид>Число десятичных знаков значение
2, затем в
Карта>Параметры>Маска для фиксированных параметров
X и
Y значение
0.000, маску параметра
Длины линий оставьте пустой. Проверьте как работает
Сервис>Отчет>Комбинированный список. Именно в таком виде данные передается в Reports. Вы должны получить координаты с точностью 3 знака, а длины линий с 2-мя знаками после запятой. С округлением, соответствующем плану.
В последней версии Digitals маска параметра
Длины линий также влияет на форматирование длин линий в отчете. В новой версии программы можно оставить
Вид>Число десятичных знаков равное
3 и задать маску параметра
Длины линий в виде
0.000. Маски параметров
X и
Y оставить пустыми.
При этом не нужны никакие манипуляции с шаблоном Reports. Используйте стандартный шаблон каталога координат из дистрибутива программы.