округление то есть?
Есть в 4й версии нормальное округление(допустим до тысячных)?
Кстати, если я в поле заношу данные формулой, то форматирование не работает!!! почему?
procedure Memo43OnBeforePrint(Sender: TfrxComponent);
begin
if Engine.FinalPass then Memo43.Text:=(Memo37.value*100)/Memo38.value;
end;
Кстати, если я в поле заношу данные формулой, то форматирование не работает!!! почему?
procedure Memo43OnBeforePrint(Sender: TfrxComponent);
begin
if Engine.FinalPass then Memo43.Text:=(Memo37.value*100)/Memo38.value;
end;
Комментарии
Не стоит забывать , что округление зависит от текущего режима установленного для FPU(Set8087CW/SetRoundMode).
Вы присваиваете значение как текст, а форматирование работает только для выражений.
Т.е. : Memo43.Text:= '' ;
Еще стоит отметить что мемки из которых берется значение Value должны быть расположены выше по дереву отчета(т.е. перед Memo43 в списке), иначе Value не будет инициализировано.
спасибо!
я вычисление делаю вторым проходом по отчету, те мемки уже заполнены!
Делаю как Вы сказали, но выдается ошибка:
memo31: Ошибка в вырвжении '0,0494989883': ';' expected
Memo31.text:='';
все таки можно показать округление на примере! а то я как не мучил FormatFloat, получается бред на выходе!
И что за Set8087CW/SetRoundMode и где это устанавливается?
http://www.reportingfor.com/ru/news.php?extend.76
Мне вообще непонятно зачем число приводит к тесту, чтобы потом получить число и отформатировать в текст ?
отключите форматирование у мемки и сразу форматируйте в скрипте:
Memo31.text:= Format('%8.2f', (<frxDBDataset1."SUMM">*100)/Memo9.value );