Практически всегда при вычислении дробных чисел результатом выходит значение с большим количеством знаков после запятой, что неудобно для восприятия человека. Людям удобно воспринимать дробные числа, когда в дробной части максимум четыре знака. Значит, число-результат нужно привести к удобочитаемому виду. Числа можно округлить с помощью функций RoundTo() и SimpleRoundTo().
Для начала нужно подключить модуль математических функций Math, чтобы получить доступ к интересующим нас функциям.
Синтаксис функции RoundTo() таков:
RoundTo(число; кол-во_знаков);
function RoundTo(const AValue: Double; const ADigit: TRoundToRange): Double;
Здесь AValue – округляемое число типа Double, объявленное как константа. ADigit – порядок округления, то есть фактически количество знаков, которое должно остаться в дробной части после округления. ADigit также объявлен как константа типа TRoundToRange. Сама функция тоже имеет тип Double. На будущее заметим, что опытные программисты используют для хранения вещественных чисел не Double, а Extended, как более точный тип. Кроме того, для чисел, округляемых не более чем до четвертого знака после запятой, можно использовать тип Currency, который хранит данные как масштабированное целое значение, исключая проблему с погрешностями при вычислениях.
Приведем пример округления значение переменной V до двух знаков после запятой. В переменную V записываем новое значение:
V:=RoundTo(V, -2);
Приведем пример деления двух чисел:
var R1,R2,R: Real;
begin
R1:=152;
R2:=490;
R:=R1/R2;
R:=RoundTo(R, -2);
end;
Функция SimpleRoundTo() сходна с RoundTo() – различие лишь в способе округления последнего знака. SimpleRoundTo() округляет последнее число в большую сторону, а RoundTo() использует так называемое банковское округление, приводя число к ближайшему четному. Добавим, что обе функции умеют округлять не только дробные, но и целые числа, обнуляя разряды младше указанного порядка. Так, например, если округлять число 1234567, указав количество разрядов (ADigit) равное трем, то на выходе получим число 1234000.
. как округлять значения в delphi 2001 RoundTo в Delphi решение проблемы округления в дельфи как округлять значения в delphi 2001 delphi jrheuktybt lj 2 pyfrjd