Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Округление чисел до определенной степени

Delphi , Синтаксис , Математика

Округление чисел до определенной степени

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

function Rounder(var Value: Double; Decimals: Integer): Double;
 var
   j: Integer;
   A: Double;
 begin
   A := 1;
   case Decimals of
     0: A := 1;
     1: A := 10;
     else
       for j := 1 to Decimals do
         A := A * 10;
   end;
   Result := Int((Value * A) + 0.5) / A;
 end;


 procedure TForm1.Button1Click(Sender: TObject);
 var
   Value: Double;
 begin
   Value := 23.56784;
   //Result is 23.57 
  label1.Caption := FloatToStr(Rounder(Value, 2));
 end;

Перевод на русский язык:

Код-снippet на Delphi определяет функцию Rounder, которая округляет вещественное число до указанного количества десятичных знаков.

Функция принимает два параметра: Value, которое является вещественным числом, которое нужно округлить, и Decimals, которое specifies количество десятичных знаков для округления. Функция возвращает округленное значение как Double.

Работа функции происходит следующим образом:

  1. Она инициализирует переменную A значением 1.
  2. В зависимости от значения Decimals, она устанавливает A в значение 1, 10 или возводит A в степень 10 для каждого десятичного знака, указанного в Decimals.
  3. Она вычисляет округленное значение, умножая Value на A, добавляя 0,5 и затем используя целую часть этого результата (используя функцию Int) разделенную на A.

Процедура Button1Click демонстрирует использование этой функции. Когда кнопка нажата, она устанавливает текст заголовка (Label1) в округленное значение переменной Value, которая имеет десятичное значение 23,56784, с двумя десятичными знаками.

Альтернативное решение с использованием встроенных функций Delphi:

function Rounder(var Value: Double; Decimals: Integer): Double;
begin
  Result := Round(Value * Power(10, Decimals)) / Power(10, Decimals);
end;

// Использование остается тем же, что и раньше

В этом реализации используется функция Power для возведения 10 в степень Decimals, а затем умножает Value на это значение. Результат округляется с помощью функции Round, а затем делится на то же самое возведение 10, чтобы получить требуемое количество десятичных знаков.

Обе реализации должны давать одинаковые результаты, но альтернативное решение может быть более компактным и проще для понимания для тех, кто знаком с встроенными функциями Delphi.

Описание статьи на русском языке: Функция округления чисел до определенной степени, реализованная на языке Delphi, позволяет округлять дробные числа с указанным количеством знаков после запятой.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Математика ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100

Время компиляции файла: 2024-05-10 07:13:18
2024-05-19 13:08:52/0.0062658786773682/0