Функция Abs в Delphi предназначена для получения абсолютной величины числа (модуль).
System unit
function Abs (Number : Numeric type) : Numeric type;
Функция Abs возвращает абсолютное значение отрицательного или положительного числа. Она делает это, удаляя отрицательный знак, если он найден.
Число может быть любым числовым типом и даже может быть вариантом, если его можно преобразовать в число. Например, Variant со строкой '-1.23' будет работать нормально. Всегда Abs преобразует Variant в расширенное число с плавающей запятой перед удалением любого отрицательного знака, даже если результатом является целочисленное значение.
Примечание.
Числам с плавающей запятой можно присвоить экстремальные значения, например бесконечность (см. пример). Функция Abs просто удаляет из них отрицательный знак, так что -INF становится INF.
Функция Abs: Иллюстрация абсолютных значений различных типов данных
var
float, bigFloat : single;
int : Integer;
varVar : Variant;
begin
float := -1.5; // Маленькое отрицательное число с плавающей точкой
bigFloat := -4.56E100; // Бесконечное отрицательное число с плавающей точкой
int := -7; // Отрицательное целое число
varVar := '-98'; // Variant преобразуется в число с плавающей точкой!
ShowMessage('Abs(float) = '+FloatToStr(Abs(float)));
ShowMessage('Abs(bigFloat) = '+FloatToStr(Abs(bigFloat)));
ShowMessage('Abs(int) = '+FloatToStr(Abs(int)));
// Variant преобразуется в Extended тип с плавающей точкой
float := Abs(varVar);
ShowMessage('Abs(varVar) = '+FloatToStr(float));
end;
Результат
Abs(float) = 1.5
Abs(bigFloat) = INF
Abs(int) = 7
Abs(varVar) = 98
Похожие функции, процедуры и команды
Div — выполняет целочисленное деление без остатка.
Mod — выполняет целочисленное деление, возвращая остаток.
