powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Округление чисел в большую сторону
8 сообщений из 8, страница 1 из 1
Округление чисел в большую сторону
    #39625436
roma1975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.

Как можно сделать округление числа в большую сторону? То есть при округлении числа 10.875 до 2 знаков после разделителя, хотелось бы получить число 10.88, SimpleRoundTo(10.875,-2) и RoundTo(10.875,-2) дают 10.87.
...
Рейтинг: 0 / 0
Округление чисел в большую сторону
    #39625440
DesWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
roma1975,

R:=Ceil(r*100)/100
...
Рейтинг: 0 / 0
Округление чисел в большую сторону
    #39625454
roma1975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо мне тоже пришла в голову эта мысль, но с Round(10.8759*100)/100 и Round даёт более правильное округление до 2 знаков.
...
Рейтинг: 0 / 0
Округление чисел в большую сторону
    #39625514
DesWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
roma1975,
Округления разные "математические", "банковские"; Ceil, это просто вверх 3.1 будет равно 4.
...
Рейтинг: 0 / 0
Округление чисел в большую сторону
    #39625662
Близнец1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
roma1975,

SetRoundMode(rmUp) и RoundTo пробовали?
...
Рейтинг: 0 / 0
Округление чисел в большую сторону
    #39625985
roma1975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да мне ещё посоветовали, можно ещё прибавить к числу 0.001 и RoundTo до 2 знаков сделать, RoundTo(10.875+0.001,-2).
...
Рейтинг: 0 / 0
Округление чисел в большую сторону
    #39626017
Gerasimenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
roma1975Да мне ещё посоветовали, можно ещё прибавить к числу 0.001 и RoundTo до 2 знаков сделать, RoundTo(10.875+0.001,-2).
Напиши один раз свой библиотечный модуль округления: математический, бухгалтерский, отсечение.
Можно сделать через текстовое представление числа и будет работать правильно всегда и везде.
И забудь про эту проблему навсегда.
...
Рейтинг: 0 / 0
Округление чисел в большую сторону
    #39627217
Freedoom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
roma1975...Как можно сделать округление числа в большую сторону? То есть при округлении числа 10.875 до 2 знаков после разделителя, хотелось бы получить число 10.88...
Например, вот так:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
function Adjust(const AValue, AdjSum: Double): Double;
var
  Sign: Double;
begin
  Sign := 0.500000001; if AValue < 0 then Sign := -Sign;
  Result := Int(AValue/AdjSum + Sign) * AdjSum;
  if (abs(Result - AValue) > 0.0000001) and (Result < AValue) then
    Result := Result + AdjSum;
end;


Использование:
x := Adjust(10.875, 0.01);
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Округление чисел в большую сторону
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]