Рубрики
Без рубрики

Ароматы округления

Как часто вы окружаете различные цифры своей повседневной работы? Вы знаете, какой тип округления делает … Tagged с Dotnet, JavaScript, Python, Java.

Как часто вы окружаете различные цифры своей повседневной работы? Вы знаете, какой тип округления вы на самом деле используете?

Давайте сравним несколько языков программирования и их по умолчанию (То есть без дополнительных параметров, если функция округления позволяет это) методы округления.

Я использую два понятия округления: Окружение банкира и Круглый половина вверх . Больше информации о различных методах можно найти на Википедия Анкет

.СЕТЬ

В Dotnet (Framework, Core, 5+) Окружение банкира используется по умолчанию.

Math.Round(0.5); // 0
Math.Round(1.5); // 2
Math.Round(2.5); // 2
Math.Round(3.5); // 4

Если вам нужно Круглый половина вверх , используйте следующее

Math.Round(0.5, MidpointRounding.AwayFromZero); // 1
Math.Round(1.5, MidpointRounding.AwayFromZero); // 2
Math.Round(2.5, MidpointRounding.AwayFromZero); // 3
Math.Round(3.5, MidpointRounding.AwayFromZero); // 4

JavaScript

В JavaScript Круглый половина вверх используется по умолчанию.

Math.round(0.5); // 1
Math.round(1.5); // 2
Math.round(2.5); // 3
Math.round(3.5); // 4

Python (2,7, 3+)

В Python 2.7 Круглый половина вверх используется по умолчанию.

round(0.5) # 1
round(1.5) # 2
round(2.5) # 3
round(3.5) # 4

Но в Python 3+ Окружение банкира используется по умолчанию.

round(0.5) # 0
round(1.5) # 2
round(2.5) # 2
round(3.5) # 4

Честно говоря, это было довольно удивительно.

Ява

В Java (JDK 1.8.0, 9, 10, 11) Круглый половина вверх используется по умолчанию.

Math.round(0.5); // 1
Math.round(1.5); // 2
Math.round(2.5); // 3
Math.round(3.5); // 4

Идти

В go Круглый половина вверх используется по умолчанию.

math.Round(0.5) // 1
math.Round(1.5) // 2
math.Round(2.5) // 3
math.Round(3.5) // 4

Но если хочешь Окружение банкира Для этого тоже есть функция по умолчанию.

math.RoundToEven(0.5) // 0
math.RoundToEven(1.5) // 2
math.RoundToEven(2.5) // 2
math.RoundToEven(3.5) // 4

PHP

В php Круглый половина вверх используется по умолчанию.

round(0.5); # 1
round(1.5); # 2
round(2.5); # 3
round(3.5); # 4

Оригинал: “https://dev.to/semuserable/flavours-of-rounding-42e0”