Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (1): [1]   

> Без описания
Kostick
Отправлено: 30 Января, 2023 - 15:17:31
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 178
Дата рег-ции: Авг. 2020  
Репутация: 1




Не могу придумать, как округлить дробное число в большую или меньшую сторону? Или найти ближайшее целое число к данному дробному? А то готовой функции я не нашел, как например, в Питоне.
 
 Top
neba2101
Отправлено: 30 Января, 2023 - 17:18:29
Post Id



Пользователь
Мастер


Просматривает форум
Сообщений всего: 142
Дата рег-ции: Февр. 2017  
Репутация: 4




 Kostick пишет:
Не могу придумать, как округлить дробное число в большую или меньшую сторону? Или найти ближайшее целое число к данному дробному? А то готовой функции я не нашел, как например, в Питоне.


Можно присвоить переменной int дробное значение.
CODE:
double d=5.54;
int i=d;
messagebox(i);
 
 Top
Kostick
Отправлено: 30 Января, 2023 - 17:23:30
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 178
Дата рег-ции: Авг. 2020  
Репутация: 1




 Цитата:
Можно присвоить переменной int дробное значение.
CODE:
double d=5.54;
int i=d;
messagebox(i);


Хм, да, не подумал про это. Жаль, что в таком случае округление происходит всегда в меньшую сторону, даже есть бы было написано 5.9.
 
 Top
Zireael
Отправлено: 31 Января, 2023 - 01:45:35
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4398
Дата рег-ции: Нояб. 2017  
Репутация: 580




CODE:
int result;

result = round(5.51);
messagebox(result);
result = round(5.49);
messagebox(result);


function round(double x)
{
int tmp = x;
if(x - tmp < 0.5) return tmp;
return tmp + 1;
}
 
 Top
Kostick
Отправлено: 31 Января, 2023 - 15:37:45
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 178
Дата рег-ции: Авг. 2020  
Репутация: 1




 Zireael пишет:
CODE:
int result;

result = round(5.51);
messagebox(result);
result = round(5.49);
messagebox(result);


function round(double x)
{
int tmp = x;
if(x - tmp < 0.5) return tmp;
return tmp + 1;
}


Вооо, спасибо большое, вы всегда выручаете!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by