Тема: Як округлити число 24.45 до цілих?
Як би ви його округлили (до цілих) і чому?
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → Інше → Як округлити число 24.45 до цілих?
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися
Як би ви його округлили (до цілих) і чому?
Якщо частина після коми більша або рівна .5, тоді заокруглюємо в бік наступного цілого числа; інакше - заокруглюємо в бік попереднього цілого числа. В даному випадку результат буде 24.
Чому - бо це шкільний курс з математики, мабуть останній клас початкової школи.
Виняток - якщо є чіткі вимоги бізнесу завжди заокруглювати вниз або завжди догори.
Якщо частина після коми більша або рівна .5, тоді заокруглюємо в бік наступного цілого числа; інакше - заокруглюємо в бік попереднього цілого числа. В даному випадку результат буде 24.
Чому - бо це шкільний курс з математики, мабуть останній клас початкової школи.
Виняток - якщо є чіткі вимоги бізнесу завжди заокруглювати вниз або завжди догори.
В нас просто діє секта свідків того що цеє число округлюється як 25, але всі інші числа -- за шкільними правилами.
Якщо з ними поспілкуватися, то й в самого дах починає їхати.
Іноді подвійна операція округлення в десятковій системі дає результат, відмінний від однієї. Тому бажано округлювати якомога рідше, ця операція знижує точність.
Також є "округлення до парного", там .5 округлюється так, щоб остання цифра лишилася парною. Це може полегшувати певні обчислення, але в ІТ я її не зустрічав, лише в давніх книжках. Підозрюю, що це давній бухгалтерський трюк.
А ще є симетричні позиційні системи, там округлення виконується відкиданням останніх цифр і я вважаю, що це прекрасно.
Іноді подвійна операція округлення в десятковій системі дає результат, відмінний від однієї. Тому бажано округлювати якомога рідше, ця операція знижує точність.
Якщо дано число 24.45, то треба його й округлювати. 24.5 дійсно округлюється як 25 за шкільними правилами, але це вже інше число.
До речі, цікаво, що 24.45 вийшло через відкидання разрядів, бо якщо округлювати, то там було б 24.46, але в протоколі ЦВК фігурує саме 24.45 https://web.archive.org/web/20190503192 … 042019.pdf
Бо в ЦВК сидять юристи, "мені математика в житті не знадобиться".
Бо в ЦВК сидять юристи, "мені математика в житті не знадобиться".
Або програмісти: скоріш за все в них просто програма вивела 2 знаки після коми і це й внесли в протокол.
Насправді же годиться, наприклад на округлення до цілих це ніяк не впливає.
До речі, округлення за Гауссом (0.5 до парного), яке Ви згадували -- реально застосовуєтья, не тільки в старих книжках.
Як я розумію, воно має сенс на великому наборі чисел.
Також є "округлення до парного", там .5 округлюється так, щоб остання цифра лишилася парною. Це може полегшувати певні обчислення, але в ІТ я її не зустрічав, лише в давніх книжках. Підозрюю, що це давній бухгалтерський трюк.
А ще є симетричні позиційні системи, там округлення виконується відкиданням останніх цифр і я вважаю, що це прекрасно.
by default, .NET uses Banker's rounding whereby X.5 is rounded to nearest even number. https://stackoverflow.com/questions/443 … a-in-excel
Пригадую, що десь колись зустрічав якісь більш заморочені правила округлення, відмінні від шкільних, дуже здивувався, сказав "свят-свят-свят" і благополучно забув...
Це те про що тут вже казали: округлення банкіра a.k.a. округлення 0.5 до парного a.k.a. округлення за Гаусом.
Я чесно кажучи навіть брав участь у проєкті системи керування фінансовими портфелями, там було багато розрахунків пов'язаних з цінними паперами, однак з округленням я там не стикався, хоча можливо воно там десь й було...
В школі та вузі благополучно обходилися звичайним: 0.5 завжди вгору, хоча цих методів насправді цілий зоопарк: https://en.wikipedia.org/wiki/Rounding
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися