Delphi округление в большую сторону
Автор Андрей Витенберг задал вопрос в разделе Другие языки и технологии
PASCAL - Мне необходимо округлить число в большую сторону и получил лучший ответ
Ответ от Ra[гуру]
> то результат равен 0,02. а мне нужно любой результат округлять в большую сторону
Т. е. округляя в большую сторону 0.02 получаем 1?
Int(результат) + 1
Trunc(результат) + 1
Int возвращает Real
Trunc - Longint
ra
Высший разум
(107927)
Да. Поторопился.
Тогда:
Trunc(результат) + Ord(Frac(результат) > 0)
Ответ от Dr.Drew[гуру]
дробь 0,02 округлить до целого? эм.. . не курите больше эту траву.
дробь 0,02 округлить до целого? эм.. . не курите больше эту траву.
Ответ от Капитан Гугл[гуру]
Если целое - оставь как есть, если дробь - увеличь на 1 и отбрось дробную часть.
Если целое - оставь как есть, если дробь - увеличь на 1 и отбрось дробную часть.
Ответ от Ёергей Есепчук[гуру]
Пользуйся функцией Trunc(R), где R - вещественное число. Она округляет в меньшую сторону) Потом просто прибавляй 1. То есть: A:=Trunc(B)+1
Пользуйся функцией Trunc(R), где R - вещественное число. Она округляет в меньшую сторону) Потом просто прибавляй 1. То есть: A:=Trunc(B)+1
Ответ от Jurijus Zaksas[гуру]
Господа надмозги, а как насчет функции Math.Ceil() ? В классическом паскале неужто нет ничего подобного? На крайняк - моя кривая реализация: function DivCeil(Divided, Divisor:extended):longint; begin if Frac(Divided/Divisor)>(
Господа надмозги, а как насчет функции Math.Ceil() ? В классическом паскале неужто нет ничего подобного? На крайняк - моя кривая реализация: function DivCeil(Divided, Divisor:extended):longint; begin if Frac(Divided/Divisor)>(
Ответ от Григорий Санду[гуру]
Зачем так всё усложнять, в Turbo Pascal (Free PASCAL, Delphy ) есть функция Round() ;
ссылка
Округляет значение вещественного типа до значения цело
Зачем так всё усложнять, в Turbo Pascal (Free PASCAL, Delphy ) есть функция Round() ;
ссылка
Округляет значение вещественного типа до значения цело
Ответ от Dr.Drew[гуру]
дробь 0,02 округлить до целого? эм.. . не курите больше эту траву.
дробь 0,02 округлить до целого? эм.. . не курите больше эту траву.
Ответ от Капитан Гугл[гуру]
Если целое - оставь как есть, если дробь - увеличь на 1 и отбрось дробную часть.
Если целое - оставь как есть, если дробь - увеличь на 1 и отбрось дробную часть.
Ответ от Ёергей Есепчук[гуру]
Пользуйся функцией Trunc(R), где R - вещественное число. Она округляет в меньшую сторону) Потом просто прибавляй 1. То есть: A:=Trunc(B)+1
Пользуйся функцией Trunc(R), где R - вещественное число. Она округляет в меньшую сторону) Потом просто прибавляй 1. То есть: A:=Trunc(B)+1
Ответ от Jurijus Zaksas[гуру]
Господа надмозги, а как насчет функции Math.Ceil() ? В классическом паскале неужто нет ничего подобного? На крайняк - моя кривая реализация: function DivCeil(Divided, Divisor:extended):longint; begin if Frac(Divided/Divisor)>(
Господа надмозги, а как насчет функции Math.Ceil() ? В классическом паскале неужто нет ничего подобного? На крайняк - моя кривая реализация: function DivCeil(Divided, Divisor:extended):longint; begin if Frac(Divided/Divisor)>(
Ответ от Григорий Санду[гуру]
Зачем так всё усложнять, в Turbo Pascal (Free PASCAL, Delphy ) есть функция Round() ;
ссылка
Округляет значение вещественного типа до значения цело
Зачем так всё усложнять, в Turbo Pascal (Free PASCAL, Delphy ) есть функция Round() ;
ссылка
Округляет значение вещественного типа до значения цело
Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: PASCAL - Мне необходимо округлить число в большую сторону