• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте, чтобы узнать больше. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Как в Делфи написать функцию abs(x)?

  • Автор темы Автор темы santa157
  • Дата начала Дата начала

santa157

Ученик
Регистрация
9 Янв 2013
Сообщения
1
Реакции
0
Баллы
0
Как в Делфи написать функцию abs(x)?

Помогите плизз, как в делфи написать функцию abs(x)??
 
Вот пример : Функция Abs возвращает абсолютную величину отрицательного или положительного числа (модуль). Это реализуется удалением отрицательного знака, если такой обнаружен.

Число может быть любым числовым типом, также может быть Variant, он будет преобразован в число. Например, Variant строку '-1.23' Abs всегда преобразовывает её в Extended.

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
 
Назад
Сверху