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

Округление дробного числа до N знаков после запятой

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

Округление дробного числа до N знаков после запятой

Автор: Perceptron

function RoundEx(chislo: double; Precision: Integer): string;
var
  ChisloInStr: string;
  ChisloInCurr: currency;
begin
  ChisloInCurr := chislo;
  Str(ChisloInCurr: 20: Precision, ChisloInStr);
  ChisloInStr[Pos('.', ChisloInStr)] := ',';
  RoundEx := Trim(ChisloInStr);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit1.Text := RoundEx(StrToFloat(Edit1.Text), 2);
end;

Here is the translation of the provided text into Russian:

В предоставленном коде на языке Pascal используется функция для округления вещественного числа до указанной точности (количества знаков после запятой).

Разбивка:

  • Функция RoundEx принимает два параметра:
    • chislo: двойная-precision вещественное число.
    • Precision: целое число, представляющее собой желаемое количество знаков после запятой.
  • Внутри функции RoundEx, она сначала присваивает chislo переменной типа currency ChisloInCurr.
  • Затем она использует процедуру Str для конвертации ChisloInCurr в строку длиной 20 символов и указанной Precision. Результат хранится в ChisloInStr.
  • Далее, она заменяет точку (.) в ChisloInStr на запятую (,) с помощью функции Pos.
  • Наконец, она присваивает форматированную строку результату функции RoundEx.

Процедура Button1Click привязана к обработчику события кнопки. Когда кнопка нажата, она вызывает функцию RoundEx с текстом из контрола редактирования (Edit1) как входным числом и 2 знаками после запятой как точностью. Округленное значение затем отображается в том же контроле редактирования.

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

function RoundEx(chislo: double; Precision: Integer): string;
begin
  Result := FormatFloat('#,0.' + IntToStr(Precision) + 'f', chislo);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit1.Text := RoundEx(StrToFloat(Edit1.Text), 2);
end;

Это код достигает того же результата, что и оригинальный, но более компактен и эффективен. Функция FormatFloat форматирует вещественное число по указанному форматному строке. В этом случае форматная строка '#,0.' + IntToStr(Precision) + 'f' specifies that the number should be formatted with a decimal point followed by Precision digits after it.

Округление дробного числа до N знаков после запятой является функцией, реализованной на языке Pascal с использованием библиотеки TurboVision.


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


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

заголовок

e-mail

Ваше имя

Сообщение

Введите код




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



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


реклама



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

Время компиляции файла: 2024-05-10 07:13:18
2024-05-19 12:20:25/0.0061650276184082/0