Публикация

Округление чисел в отчетах FastReport до определенного знака.

В FastReport присутствует пользовательская функция Round, которая округляет исключительно до целого числа.
Чтобы вывести результат, округленный до определённого знака, необходимо:
1 . Открыть сервис отчета. Перейти на закладку «Code». Добавить функцию вида:

function RoundTo(X:Extended; N: Integer): Extended;
var
  i,i1: Integer;
begin
  Result := X;
  i1 := 1;
  for i := 1 to N do  
    i1 := i1*10;
  result := Round(Result*i1)/i1;
end;

/system/files/1_93.png

2. На странице отчета для текстового объекта прописать такой код:

[RoundTo(ds_ReportOpportunityOfferings."Amount">, 2)]

Вместо 2 указать до какого количества символов выполнять округление:

/system/files/2_54.png

Нравится

Поделиться

1 комментарий

Цікаве рішення

Але замість циклу

i1 := 1; 
for i := 1 to N do  
  i1 := i1*10; 

краще використати функцію Power(10, N). По ефективності результат повинен вийти не гіршим, а естетично виглядатиме краще

Показать все комментарии