Delphi округление в большую сторону
Автор Андрей Витенберг задал вопрос в разделе Другие языки и технологии
PASCAL - Мне необходимо округлить число в большую сторону и получил лучший ответ
Ответ от Ra[гуру]
Для округления числа в большую сторону в Pascal подход зависит от компилятора. В Free Pascal или Delphi достаточно подключить модуль Math и использовать функцию Ceil. В классическом Turbo Pascal функция Round не подойдет, так как округляет до ближайшего целого. Функция Int возвращает Real, а Trunc - Longint, но обе просто отбрасывают дробную часть. Для корректного округления вверх напишем свою функцию. Если дробная часть равна нулю, возвращаем результат Trunc. Если число положительное и имеет дробную часть, прибавляем к целой части единицу. Для отрицательных чисел результат Trunc уже является искомым значением.function CeilCustom(X: Real): LongInt;
begin
if Frac(X) = 0 then CeilCustom := Trunc(X)
else if X > 0 then CeilCustom := Trunc(X) + 1
else CeilCustom := Trunc(X);
end;Этот способ надежно работает с любыми значениями.
дробь 0,02 округлить до целого? эм.. . не курите больше эту траву.
Если целое - оставь как есть, если дробь - увеличь на 1 и отбрось дробную часть.
Пользуйся функцией Trunc(R), где R - вещественное число. Она округляет в меньшую сторону) Потом просто прибавляй 1. То есть: A:=Trunc(B)+1
Господа надмозги, а как насчет функции Math.Ceil() ? В классическом паскале неужто нет ничего подобного? На крайняк - моя кривая реализация: function DivCeil(Divided, Divisor:extended):longint; begin if Frac(Divided/Divisor)>(
Зачем так всё усложнять, в Turbo Pascal (Free PASCAL, Delphy ) есть функция Round() ;
ссылка
Округляет значение вещественного типа до значения цело
дробь 0,02 округлить до целого? эм.. . не курите больше эту траву.
Если целое - оставь как есть, если дробь - увеличь на 1 и отбрось дробную часть.
Пользуйся функцией Trunc(R), где R - вещественное число. Она округляет в меньшую сторону) Потом просто прибавляй 1. То есть: A:=Trunc(B)+1
Господа надмозги, а как насчет функции Math.Ceil() ? В классическом паскале неужто нет ничего подобного? На крайняк - моя кривая реализация: function DivCeil(Divided, Divisor:extended):longint; begin if Frac(Divided/Divisor)>(
Зачем так всё усложнять, в Turbo Pascal (Free PASCAL, Delphy ) есть функция Round() ;
ссылка
Округляет значение вещественного типа до значения цело
Декларация ИП УСН: округление в какую сторону?
Округление бывает только в 1 сторону, после 50 копеек считаешь в большую сторону, до 50 копеек в
подробнее...
язык СИ. НУЖНО ОКРУГЛИТЬ ЧИСЛО В БОЛЬШУЮ СТОРОНУ БЕЗ ФУНКЦИИ FLOOR ЗАРАНЕЕ СПАСИБО
#include <stdio.h>
#include <conio.h>
float approximate_float_up(float);
подробнее...
правило округление натуральных чисел. помогите плиз заранее спасибо
Округление чисел в десятичной системе счисления
ОКРУГЛЕНИЕ ЧИСЕЛ В ДЕСЯТИЧНОЙ
подробнее...
сколько в кубе красного кирпича
●Чтобы посчитать сколько кирпичей в 1 м3 нужно знать их размер.
☆Стандартные размеры☆:
подробнее...
C++. Типы данных. Создание типа данных.
Минимальная граница для адресации процессора - 1 байт. Рекоммендуемая - 4 байта.
Если нужна
подробнее...
Как исправить 3 на 4 или 5
ща
твой средний бал сейчас 3,6 балла. Это уже 4. (округление в большую сторону начинается от
подробнее...
как округлять дроби?
Например: если дробь 2,6 то округление в большую сторону то есть будет 3, потому что на конце
подробнее...
C++ округление числа в большую сторону
Есть кстати противоположная функция floor (от слова пол) , округляет всегда в меньшую сторону, а
подробнее...
В какую сторону округлять 3-ю цифру после запятой?
Конечно, существуют разные способы округления. ОДнако, чаще всего и если не оговорено
подробнее...