Добрый вечер!
В источнике данных имеется колонка с типом значений double, в которой значения находятся между -1.79769313486232E+308 и 1.79769313486232E+308 (минимальным и максимальным возможным значением для типа double ответственно). При предварительном просмотре приложение выдаёт исключение, текст которого прикреплён к данному сообщению.
Насколько я правильно понимаю - данная ситуация возникает из-за того, что CrossTab использует функции для расчёта итогов, которые по умолчанию возвращают тип Decimal. Исходя из документации (Итоги связанные с бэндами -> https://www.stimulsoft.com/documentatio ... _bands.htm) я так понимаю - существует возможность для других бэндов изменить тип возвращаемого значения итоговой функции на Double или Int64. Существует ли данная возможность для CrossTab?
Тип результата итоговой функции в CrossTab
Тип результата итоговой функции в CrossTab
- Вложения
-
- Exception.txt
- (3.26 КБ) 447 скачиваний
Re: Тип результата итоговой функции в CrossTab
Здравствуйте.
На данный момент в коде CrossTab жестко прописано, что все числовые значения для рассчётов преобразуются в Decimal.
Это связано с известной проблемой округления double-типа. Например 0.27 + 0.31 = 0.58000000000000007
Тип Decimal является более точным, поэтому и используется у нас в большинстве случаев по умолчанию.
К сожалению, в CrossTab изменить это на данный момент нельзя.
Спасибо.
На данный момент в коде CrossTab жестко прописано, что все числовые значения для рассчётов преобразуются в Decimal.
Это связано с известной проблемой округления double-типа. Например 0.27 + 0.31 = 0.58000000000000007
Тип Decimal является более точным, поэтому и используется у нас в большинстве случаев по умолчанию.
К сожалению, в CrossTab изменить это на данный момент нельзя.
Спасибо.