ホームページ >バックエンド開発 >Python チュートリアル >Python 3 の「round()」関数は以前のバージョンとどのように異なり、またその理由は何ですか?

Python 3 の「round()」関数は以前のバージョンとどのように異なり、またその理由は何ですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-15 18:33:11221ブラウズ

How Does Python 3's `round()` Function Differ from Previous Versions, and Why?

Python 3.0 の丸め動作

Python 3.0 では、round() 関数の丸め戦略と戻り値の型に大幅な変更が導入されました。 Python 2 では、round(2.5) は 3 を返しましたが、Python 3 では、2 を返しました。同様に、round(3.5) は、両方のバージョンで 4 を返しました。

この変更は、「半分を丸め」を採用するために行われました。 「偶数」または「バンカーの丸め」テクニック。 Python 3 の丸めは、5 つの異なる丸め方法を定義する浮動小数点演算の IEEE 754 標準と一致するようになりました。

変更の根拠

前の丸め動作 (「常に 0.5 を切り上げる」) により、多数の計算を実行するときに、より大きな数値にわずかなバイアスが生じる可能性があります。 Python 3 のアプローチでは、このバイアスが排除されます。

バンカー丸めを使用する他のプログラミング言語

バンカー丸めを使用するプログラミング言語は Python 3 だけではありません。 C、Java、AppleScript などの他の主流言語もこのメソッドを実装しています。

以前の仮定に対する影響

丸めに関する従来の理解は、現在の動作と一致しない可能性があります。これは、Python 3 のround() の以前の仮定に依存すると、予期しない結果につながる可能性があります。

他の丸め手法も存在し、プログラミング言語が異なれば実装される手法も異なる場合があることに注意することが重要です。浮動小数点数を扱う場合、予期せぬ結果を避けるために使用されている特定の丸めアルゴリズムを認識することが重要です。

以上がPython 3 の「round()」関数は以前のバージョンとどのように異なり、またその理由は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。