1

Тема: Як округлити число 24.45 до цілих?

Як би ви його округлили (до цілих) і чому?

2 Востаннє редагувалося frz (21.06.2022 01:11:19)

Re: Як округлити число 24.45 до цілих?

Якщо частина після коми більша або рівна .5, тоді заокруглюємо в бік наступного цілого числа; інакше - заокруглюємо в бік попереднього цілого числа. В даному випадку результат буде 24.

Чому - бо це шкільний курс з математики, мабуть останній клас початкової школи.

Виняток - якщо є чіткі вимоги бізнесу завжди заокруглювати вниз або завжди догори.

3

Re: Як округлити число 24.45 до цілих?

frz написав:

Якщо частина після коми більша або рівна .5, тоді заокруглюємо в бік наступного цілого числа; інакше - заокруглюємо в бік попереднього цілого числа. В даному випадку результат буде 24.

Чому - бо це шкільний курс з математики, мабуть останній клас початкової школи.

Виняток - якщо є чіткі вимоги бізнесу завжди заокруглювати вниз або завжди догори.

В нас просто діє секта свідків того що цеє число округлюється як 25, але всі інші числа -- за шкільними правилами.
Якщо з ними поспілкуватися, то й в самого дах починає їхати.

4

Re: Як округлити число 24.45 до цілих?

Іноді подвійна операція округлення в десятковій системі дає результат, відмінний від однієї. Тому бажано округлювати якомога рідше, ця операція знижує точність.
Також є "округлення до парного", там .5 округлюється так, щоб остання цифра лишилася парною. Це може полегшувати певні обчислення, але в ІТ я її не зустрічав, лише в давніх книжках. Підозрюю, що це давній бухгалтерський трюк.
А ще є симетричні позиційні системи, там округлення виконується відкиданням останніх цифр і я вважаю, що це прекрасно.

Подякували: leofun011

5

Re: Як округлити число 24.45 до цілих?

koala написав:

Іноді подвійна операція округлення в десятковій системі дає результат, відмінний від однієї. Тому бажано округлювати якомога рідше, ця операція знижує точність.

Якщо дано число 24.45, то треба його й округлювати. 24.5 дійсно округлюється як 25 за шкільними правилами, але це вже інше число.


До речі, цікаво, що 24.45 вийшло через відкидання разрядів, бо якщо округлювати, то там було б 24.46, але в протоколі ЦВК фігурує саме 24.45 https://web.archive.org/web/20190503192 … 042019.pdf

6

Re: Як округлити число 24.45 до цілих?

Бо в ЦВК сидять юристи, "мені математика в житті не знадобиться".

7

Re: Як округлити число 24.45 до цілих?

koala написав:

Бо в ЦВК сидять юристи, "мені математика в житті не знадобиться".

Або програмісти: скоріш за все в них просто програма вивела 2 знаки після коми і це й внесли в протокол.
Насправді же годиться, наприклад на округлення до цілих це ніяк не впливає.

До речі, округлення за Гауссом (0.5 до парного), яке Ви згадували -- реально застосовуєтья, не тільки в старих книжках.
Як я розумію, воно має сенс на великому наборі чисел.

8

Re: Як округлити число 24.45 до цілих?

koala написав:

Також є "округлення до парного", там .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

9

Re: Як округлити число 24.45 до цілих?

Пригадую, що десь колись зустрічав якісь більш заморочені правила округлення, відмінні від шкільних, дуже здивувався, сказав "свят-свят-свят" і благополучно забув...

10

Re: Як округлити число 24.45 до цілих?

Це те про що тут вже казали: округлення банкіра a.k.a. округлення 0.5 до парного a.k.a. округлення за Гаусом.
Я чесно кажучи навіть брав участь у проєкті системи керування фінансовими портфелями, там було багато розрахунків пов'язаних з цінними паперами, однак з округленням я там не стикався, хоча можливо воно там десь й було...

В школі та вузі благополучно обходилися звичайним: 0.5 завжди вгору, хоча цих методів насправді цілий зоопарк: https://en.wikipedia.org/wiki/Rounding

Подякували: bvn1