Публикация
Округление чисел в отчетах FastReport до определенного знака.
5 сентября 2012 23:25
В 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;
var
i,i1: Integer;
begin
Result := X;
i1 := 1;
for i := 1 to N do
i1 := i1*10;
result := Round(Result*i1)/i1;
end;
2. На странице отчета для текстового объекта прописать такой код:
[RoundTo(ds_ReportOpportunityOfferings."Amount">, 2)]
Вместо 2 указать до какого количества символов выполнять округление:
6 сентября 2012 14:58
Цікаве рішення
Але замість циклу
i1 := 1; for i := 1 to N do i1 := i1*10;
краще використати функцію Power(10, N). По ефективності результат повинен вийти не гіршим, а естетично виглядатиме краще
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать