“логично и объяснимо” сделано в небезызвестной программе Microsoft Excel:
есть понятие “число десятич. знаков” в формате ячейки - влияет только на внешний вид значения, а в расчет принимается неокругленное значение.
а есть команда “ОКРУГЛ”, которая действительно округляет число.
разные вещи, не правда ли…
Поясню:
нам надо чтоб параметр ID[0]Площадь ОТОБРАЖАЛСЯ в гектарах с точностью 0.000000, поэтому в маске - /10000 0.000000.
Именно этот параметр, т.к. только он показывает суммарную площадь помеченных, а все остальные вычисляемые параметры типа “=P[0]” показывают ‘*’
А “=P[0]” округляется до четырех заков, т.к. именно в таком виде площадь дожна выглядеть на подписях, в выходных документах и экспортируемых файлах.
ХА!..
Убираем маску - получаем площадь В МЕТРАХ округленную по умолчанию до двух знаков, т.е. те же гектары до 6-ти знаков. Это максимальная точность?!
Картина в этом случае такая же:
“ID[0]”=660.50, “=P[0]”=0.0661, а на самом деле 0.0660496
Дело то в том что ОКРУГЛЕНИЕ ЕСТЬ ВСЕГДА, по умолчанию до 2-х знаков. И какую точность ни ставь, хоть 0.00000000000000, всегда найдется какой-нибудь случай типа 0.0660499999999 и с ним будут проблемы.
Проблем нет когда у всех параметров одинаковая маска и все они одинаково округляются. Но вот понадобилось нам, чтоб маска была разная. Чтоб видеть полщадь поточнее, а печатать округленную.
Ну так и давайте уберем округление ситемных параметров. Пускай маска действует на них как в Excel’е “формат ячейки”. Будет “логично и объяснимо”.
Кстати цитирую HELP:
Именно “представления значения”, ни слова об округлении.
А на деле?..
Я ж предлагаю сделать как в ХЕЛПе написано
.
Либо не округлять только “фиксированные параметры”.
Либо все параметры не округлять маской, сделав возможность округление какой-то другой командой в том же поле.