Как округлить в паскале до целых

Как округлить в паскале до целых

Модуль System, входящий в состав RTL, содержит функцию Round, которая округляет значение типа real до значения типа integer. Её входным параметром является выражение вещественного типа, и Round возвращает значение типа longint, округленное до ближайшего целого числа. Если входное значение находится точно посередине между двух целых чисел — N.5 — то используется "банковское округление", в результате которого значение округляется до ближайшего четного числа.

Функция Round в Паскале округляет значение с плавающей точкой до ближайшего целого числа. Синтаксис:

function Round(X: ValReal) : Int64;

Функция Round округляет Х до ближайшего целого числа и возвращает значение, которое может быть как меньше, так и больше исходного значения вещественного числа Х.

О типе ValReal я рассказывал здесь.

Правило округления числа

Округление вещественного числа Х выполняется по следующему правилу:

  1. Если дробная часть числа Х меньше 0.5, то число Х округляется в меньшую сторону.
  2. Если дробная часть числа Х больше 0.5, то число Х округляется в большую сторону.
  3. Если дробная часть числа Х равна 0.5, то используется особый принцип округления числа, так называемое “Банковское округление”. То есть когда число округляется всегда в сторону чётного числа.

Примеры округления чисел

Исходя из вышесказанного функция Round будет возвращать следующие результаты при округлении чисел:

Ну и напоследок пример программы:

Обратите внимание в примере на закомментированную строку. Так делать нельзя, потому что в Паскале не допускается присваивать целочисленным переменным вещественные значения.

Поэтому, если необходимо сложить две переменных — целую и вещественную, а результат поместить в целую, то надо использовать какую-либо из подпрограмм преобразования типов. Например, функцию Round.

Также обратите внимание, что функция Round возвращает число типа Int64. Этот тип НЕ является порядковым типом данных. Это значит, что по идее функцию Round нельзя использовать в конструкциях, требующих применения порядковых типов. Например, с оператором case.

Читайте также:  Как изменить файловую систему жесткого диска

То есть по идее компилятор должен выдать ошибку, если в вашей программе будет что-то типа того: Однако я проверил. Программа компилируется и работает нормально. И всё же я не советую использовать в ваших программах конструкции, которые противоречат документации. Если необходимо использовать результат функции Round в подобных ситуациях, то лучше сначала присвоить результат какой-нибудь переменной порядкового типа, а потом уже эту переменную использовать с таким операторами, как case.

Frac Дробная часть числа с плавающей запятой

Int Целая часть числа с плавающей точкой

Round Округление чисел с плавающей запятой до целого числа

Round(12.75) = 13
Trunc(12.75) = 12
Int(12.75) = 12

Round: Округляет значение вещественного типа до значения целочисленного типа.

Объявление: Function Round(X: Real): Longint;
Режим: Windows, Real, Protected

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

Если округленное значение X ненаходится внутри допустимого диапазона Longint, то происходит ошибка во время выполнения программы.

Пример функции Round

Begin
WriteLn(1.4, ‘ округленно = ‘, Round(1.4));
WriteLn(1.5, ‘ округленно = ‘, Round(1.5));
WriteLn(-1.4, ‘ округленно = ‘, Round(-1.4));
WriteLn(-1.5, ‘ округленно = ‘, Round(-1.5));
End.

при выводе чтоли?

writeln(‘chislo a ravno’,a:2);

:2 это до какого символа после запятой выводить число (то есть оно округляется)
пусть а=3,3333333

тогда а: 4 равно 3,3333

минимальное значение при округлении равно 2.

Ссылка на основную публикацию
Как настроить приставку смарт тв х96
X96 Mini купить которую можно в нашем магазине, является самой популярной смарт приставкой в Украине, купить которую можно также и...
Как найти периметр в равнобедренном треугольнике
Предварительные сведения Периметр любой плоской геометрической фигур на плоскости определяется как сумма длин всех его сторон. Исключением из этого не...
Как найти планшет если потерял его дома
Как отыскать потерянную вещь в семье: 10 методов У вас бывало так, что только-только вы держали на ладони ключи, флэшку,...
Как настроить приставку телекарта
В этой статье речь пойдет о провайдере Телекарта и его комплекте оборудования для приема телевизионного сигнала в SD качестве со...
Adblock detector