Поведение округления в Python 3.x
В Python 3.x стратегия округления функции round() значительно изменилась по сравнению с Python 2 .х. Эта модификация вызвала некоторую путаницу и привела к противоречивым результатам.
Измененная стратегия округления
В Python 2.x промежуточные случаи округлялись от нуля. Однако в Python 3.x эти случаи теперь округляются до ближайшего четного результата. Это означает, что round(2.5) возвращает 2 вместо 3.
Обоснование изменения
Новая стратегия округления, известная как «округление половины до четного» или « банковское округление» считается стандартным методом округления. Предыдущий метод «всегда округлять 0,5 в большую сторону» приводил к небольшому смещению в сторону большего числа. Эта погрешность может стать значительной при большом количестве вычислений.
Другие языки программирования
Поведение округления в Python 3.x не уникально. Банковское округление также используется в нескольких других популярных языках программирования, в том числе:
Однако не все языки программирования по умолчанию используют банковское округление. Некоторые из них, например C , позволяют разработчикам указывать используемый метод округления.
Банковское округление
Банковское округление — это особый метод округления, который округляет равные значения (например, 2,5). ) до ближайшего четного результата. Этот метод широко используется в финансах и статистике, поскольку он устраняет смещение в сторону большего числа.
Хотя поведение округления в Python 3 на первый взгляд может показаться нелогичным, это устоявшийся стандарт, обеспечивающий последовательность и точность вычислений.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3