「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Python 3 の「round()」関数は丸めをどのように処理するのですか?また、Python 2 との違いはなぜですか?

Python 3 の「round()」関数は丸めをどのように処理するのですか?また、Python 2 との違いはなぜですか?

2024 年 12 月 10 日に公開
ブラウズ:935

How Does Python 3's `round()` Function Handle Rounding, and Why is it Different from Python 2?

Python 3.x の丸め動作

Python 3.x では、round() 関数の丸め戦略が Python 2 と比べて大幅に変更されました。 .x.この変更により、いくつかの混乱と直観に反する結果が生じました。

丸め戦略の変更

Python 2.x では、中途半端な場合はゼロから四捨五入されました。ただし、Python 3.x では、これらのケースは最も近い偶数の結果に丸められるようになりました。これは、round(2.5) が 3 ではなく 2 を返すことを意味します。

変更の背後にある理由

新しい丸め戦略は、「四捨五入」または「バンカーズ丸め」が標準的な丸め方法とみなされます。以前の「常に 0.5 を四捨五入する」手法では、より高い数値に若干の偏りが生じました。この偏りは、多数の計算を行うと顕著になる可能性があります。

その他のプログラミング言語

Python 3.x の丸め動作は独特ではありません。

  • C#
  • Java
  • JavaScript
  • Perl
[ など、他のいくつかの主流プログラミング言語でもバンカー丸めが使用されています。 &&&]ただし、すべてのプログラミング言語がデフォルトでバンカーの丸めを使用するわけではありません。 C などの一部では、開発者が使用する丸め方法を指定できます。

Banker's Rounding

Banker's Rounding は、同点を四捨五入する特定の丸め方法 (例: 2.5) ) 最も近い偶数の結果になります。この方法は、より大きな数値へのバイアスを排除するため、財務や統計で広く使用されています。

Python 3 の丸め動作は最初は直観に反しているように思えるかもしれませんが、計算の一貫性と精度を保証する十分に確立された標準です。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3