powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Смешно, но я не знаю как округлить число....
9 сообщений из 9, страница 1 из 1
Смешно, но я не знаю как округлить число....
    #32207180
G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
G
Гость
Всем доброго дня!
Подскажите как округлить число , на пример до двух знаком после запятой, а если то честно я не знаю. Вывести на экран это не вопрос, но мне нужно округленное число для дальнейших математических опрераций...
Всем спасибо за помощь и советы!!!
...
Рейтинг: 0 / 0
Смешно, но я не знаю как округлить число....
    #32207204
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смешно, что HELP лень открыть RoundTo() или SimpleRoundTo() в зависимости, как тебе округлять надо.
...
Рейтинг: 0 / 0
Смешно, но я не знаю как округлить число....
    #32207247
G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
G
Гость
Да нет, не лень...
Про Round сказано, что округляет до целого числа,
попробывал использовать Rountto , то сразу выскачило Undeclared identifier
почему????
...
Рейтинг: 0 / 0
Смешно, но я не знаю как округлить число....
    #32207261
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Версия Delphi?
...
Рейтинг: 0 / 0
Смешно, но я не знаю как округлить число....
    #32207303
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Round(x) округляет
Trunc(х) - отбрасывает дробную часть ...
...
Рейтинг: 0 / 0
Смешно, но я не знаю как округлить число....
    #32207387
_designer_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
x - число (например 15.45362)
Round(x * 100) / 100 = 15.45
...
Рейтинг: 0 / 0
Смешно, но я не знаю как округлить число....
    #32208054
Фотография Andrew Campball
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
function FullRound(X: Double; Precision : Integer) : Double;
var
  Temp: Double;
begin
  Temp := IntPower( 10 , Precision);
  if x >  0  then
    Result := Floor(X * Temp +  0 . 500000001 ) / Temp
  else
    Result := Ceil(X * Temp -  0 . 500000001 ) / Temp
end;
...
Рейтинг: 0 / 0
Смешно, но я не знаю как округлить число....
    #32208605
Timujin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще вариант:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
function RoundFloat(var Value, RoundToNearest: Double):DOUBLE;
var
  int_val, int_rnd, remainder: Integer;
begin
  int_val := Round(Value *  100 . 00 );
  int_rnd := Round(RoundToNearest *  100 . 00 );
  if int_rnd =  0  then begin
    result :=  0 ;
    exit;
  end;
  remainder := int_val mod int_rnd;
  if (remainder >  0 ) then begin
    if (int_rnd div remainder >  2 ) then // round down
      result := int_val - remainder
    else                                // round up
      result := int_val + (int_rnd - remainder);
    // Now divide the result by  100  to get the proper result.
    result := result /  100 ;
  end else
    result := Value;
end;
Использование:

x := RoundFloat(x, 0.01) - округлить до сотых
...
Рейтинг: 0 / 0
Смешно, но я не знаю как округлить число....
    #32208625
AndreyBond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Зачем такие сложные функции использовать, написали же:
Round(x * 100) / 100 = 15.45
Таким решением уже пользуюсь лет так 10.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Смешно, но я не знаю как округлить число....
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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