округление в запросе



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;Этот способ надежно работает с любыми значениями.

Ответ от Dr.Drew[гуру]
дробь 0,02 округлить до целого? эм.. . не курите больше эту траву.

Ответ от Капитан Гугл[гуру]
Если целое - оставь как есть, если дробь - увеличь на 1 и отбрось дробную часть.

Ответ от Ёергей Есепчук[гуру]
Пользуйся функцией Trunc(R), где R - вещественное число. Она округляет в меньшую сторону) Потом просто прибавляй 1. То есть: A:=Trunc(B)+1

Ответ от Jurijus Zaksas[гуру]
Господа надмозги, а как насчет функции Math.Ceil() ? В классическом паскале неужто нет ничего подобного? На крайняк - моя кривая реализация: function DivCeil(Divided, Divisor:extended):longint; begin if Frac(Divided/Divisor)>(

Ответ от Григорий Санду[гуру]
Зачем так всё усложнять, в Turbo Pascal (Free PASCAL, Delphy ) есть функция Round() ;
ссылка
Округляет значение вещественного типа до значения цело

Ответ от Dr.Drew[гуру]
дробь 0,02 округлить до целого? эм.. . не курите больше эту траву.

Ответ от Капитан Гугл[гуру]
Если целое - оставь как есть, если дробь - увеличь на 1 и отбрось дробную часть.

Ответ от Ёергей Есепчук[гуру]
Пользуйся функцией Trunc(R), где R - вещественное число. Она округляет в меньшую сторону) Потом просто прибавляй 1. То есть: A:=Trunc(B)+1

Ответ от Jurijus Zaksas[гуру]
Господа надмозги, а как насчет функции Math.Ceil() ? В классическом паскале неужто нет ничего подобного? На крайняк - моя кривая реализация: function DivCeil(Divided, Divisor:extended):longint; begin if Frac(Divided/Divisor)>(

Ответ от Григорий Санду[гуру]
Зачем так всё усложнять, в Turbo Pascal (Free PASCAL, Delphy ) есть функция Round() ;
ссылка
Округляет значение вещественного типа до значения цело

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: PASCAL - Мне необходимо округлить число в большую сторону

Декларация ИП УСН: округление в какую сторону?
Округление бывает только в 1 сторону, после 50 копеек считаешь в большую сторону, до 50 копеек в
подробнее...

правило округление натуральных чисел. помогите плиз заранее спасибо


Округление чисел в десятичной системе счисления
ОКРУГЛЕНИЕ ЧИСЕЛ В ДЕСЯТИЧНОЙ
подробнее...

сколько в кубе красного кирпича
●Чтобы посчитать сколько кирпичей в 1 м3 нужно знать их размер.
☆Стандартные размеры☆:подробнее...

C++. Типы данных. Создание типа данных.
Минимальная граница для адресации процессора - 1 байт. Рекоммендуемая - 4 байта.
Если нужна
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:

Как исправить 3 на 4 или 5
ща
твой средний бал сейчас 3,6 балла. Это уже 4. (округление в большую сторону начинается от
подробнее...

как округлять дроби?
Например: если дробь 2,6 то округление в большую сторону то есть будет 3, потому что на конце
подробнее...

C++ округление числа в большую сторону
Есть кстати противоположная функция floor (от слова пол) , округляет всегда в меньшую сторону, а
подробнее...

В какую сторону округлять 3-ю цифру после запятой?
Конечно, существуют разные способы округления. ОДнако, чаще всего и если не оговорено
подробнее...
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*