Округление чисел.
|
|
RomaN72 | Дата: Воскресенье, 08 Июня 2014, 19:03 | Сообщение # 1 |
частый гость
Сейчас нет на сайте
| Ребят , помогите, разъясните , как округлить любое дробное число (например 10.5 до 11 или 10.4 до 10).
|
|
| |
LunarPixel | Дата: Воскресенье, 08 Июня 2014, 19:17 | Сообщение # 2 |
старожил
Сейчас нет на сайте
| round(число) - округляет в ближайшую сторону.
|
|
| |
OpenGOO | Дата: Воскресенье, 08 Июня 2014, 20:19 | Сообщение # 3 |
почти ветеран
Сейчас нет на сайте
| Цитата RomaN72 ( ) Ребят , помогите, разъясните , как округлить любое дробное число (например 10.5 до 11 или 10.4 до 10). Неужели этому уже в школе не учат?
Цитата LunarPixel ( ) round(число) - округляет в ближайшую сторону. Какое ближайшее число для 10.5, 10 или 11?)
Мои проекты: - Свободный и открытый клон World Of Goo - TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)
[GameMaker: Studio v1.4.9999]
|
|
| |
LunarPixel | Дата: Воскресенье, 08 Июня 2014, 20:23 | Сообщение # 4 |
старожил
Сейчас нет на сайте
| Цитата OpenGOO ( ) Какое ближайшее число для 10.5, 10 или 11?) В таких случаях, если не ошибаюсь, round округляет в меньшую сторону. Хотя не помню точно.
|
|
| |
OpenGOO | Дата: Воскресенье, 08 Июня 2014, 20:36 | Сообщение # 5 |
почти ветеран
Сейчас нет на сайте
| LunarPixel, в описании функции round написано что округление происходит к ближайшему чётному числу, т.е. 9.5 и 10.5 округлит до 10.
Мои проекты: - Свободный и открытый клон World Of Goo - TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)
[GameMaker: Studio v1.4.9999]
|
|
| |
HaGe | Дата: Воскресенье, 08 Июня 2014, 21:09 | Сообщение # 6 |
постоянный участник
Сейчас нет на сайте
| Цитата OpenGOO ( ) LunarPixel, в описании функции round написано что округление происходит к ближайшему чётному числу, т.е. 9.5 и 10.5 округлит до 10. справка лжет. все лгут. жизнь тленна
Цитата LunarPixel ( ) В таких случаях, если не ошибаюсь, round округляет в меньшую сторону. если дробная часть меньше 5, то в меньшую сторону. иначе - в большую. алгебраично.
Сообщение отредактировал HaGe - Воскресенье, 08 Июня 2014, 21:22 |
|
| |
aFriend | Дата: Воскресенье, 08 Июня 2014, 22:33 | Сообщение # 7 |
участник
Сейчас нет на сайте
| Цитата HaGe ( ) справка лжет. все лгут. жизнь тленна Справка лжет? Все лгут? Жизнь тлен? Если бы ты не был бы таким пустозвоном, а реально хоть что-нибудь, да понимал, то ты подобной чуши не сказанул бы. Согласен, жизнь у тебя не идеальна: ты поймал звезду, но это лишь твои проблемы.
|
|
| |
LunarPixel | Дата: Воскресенье, 08 Июня 2014, 22:49 | Сообщение # 8 |
старожил
Сейчас нет на сайте
| HaGe, тут, как раз таки, верный вариант сказал OpenGOO. Я подзабыл эту особенность. т.е., например, и round(10.5) и round(9.5) вернут 10, а не 11 и 10. Я просто помню, что там нет того, чему в школе учили, если .5, то округляем до большего ) потому сказал только про меньшее ) Ну а в данном случае, используется, так называемое, банковское округление.
|
|
| |
XDominator | Дата: Понедельник, 09 Июня 2014, 00:15 | Сообщение # 9 |
постоянный участник
Сейчас нет на сайте
| По мат правилам, 10.5 округляется до 10, и 5-ка всегда округляется до 10. Таким образом 10.55(10.555, 10.5555) тоже округляется до 10, а вот 10.56 округлится до 11.
Тем не менее, для округления ВСЕГДА в нижнюю сторону есть функция floor. floor(10.99) даст 10. Есть аналог и для округления в большую, но его не помню.
Ghaarp
The soul lighter(Android, logic)
Zzzzombie RAGE!!!(For android)
|
|
| |
aFriend | Дата: Понедельник, 09 Июня 2014, 00:19 | Сообщение # 10 |
участник
Сейчас нет на сайте
| XDominator, иы не прав, нас учили, что пятерка округляется до большего т.е 10.5 = 11, 10.54 = 11, 10.44 = 10, 10,1 = 10
|
|
| |
LunarPixel | Дата: Понедельник, 09 Июня 2014, 00:29 | Сообщение # 11 |
старожил
Сейчас нет на сайте
| XDominator, вообще то, математическое округление .5 - это округление в большую сторону. 10.5 даст 11, а не 10. Собственно, об этом я и говорил постом выше.
Цитата XDominator ( ) Есть аналог и для округления в большую, но его не помню ceil(число)
|
|
| |
XDominator | Дата: Понедельник, 09 Июня 2014, 00:49 | Сообщение # 12 |
постоянный участник
Сейчас нет на сайте
| Хм, действительно... Пора возвращаться в школу)
Ghaarp
The soul lighter(Android, logic)
Zzzzombie RAGE!!!(For android)
|
|
| |
HaGe | Дата: Понедельник, 09 Июня 2014, 08:07 | Сообщение # 13 |
постоянный участник
Сейчас нет на сайте
| Цитата LunarPixel ( ) HaGe, тут, как раз таки, верный вариант сказал OpenGOO. Я подзабыл эту особенность. ну моя справка гласит так: "Возвращает число x, округлённое до ближайшего целого числа." в общем, в любом случае...Цитата HaGe ( ) справка лжет. все лгут. жизнь тленна
Цитата aFriend ( ) Справка лжет? Все лгут? Жизнь тлен? Если бы ты не был бы таким пустозвоном, а реально хоть что-нибудь, да понимал, то ты подобной чуши не сказанул бы. Согласен, жизнь у тебя не идеальна: ты поймал звезду, но это лишь твои проблемы. слушай, я думал, что у тебя интеллекта хватает только писать слово "идиот" и его производные с кучей ошибок. а ты оказывается еще и иронизировать умеешь? в общем, поражен. отныне я даже буду относиться к тебе как к человеку ))
|
|
| |
Fill_Freeman | Дата: Понедельник, 09 Июня 2014, 13:56 | Сообщение # 14 |
почетный гость
Сейчас нет на сайте
| Цитата XDominator ( ) Тем не менее, для округления ВСЕГДА в нижнюю сторону есть функция floor. floor(10.99) даст 10. Есть аналог и для округления в большую, но его не помню.
Обычно это ceil. т.е. ceil(2.3) = 3
Для любопытных: floor и ceil легко запомнть зная, что floor (с англ) - пол; а ceil - потолок.
|
|
| |