ホームページ >バックエンド開発 >Python チュートリアル >Python で浮動小数点数を小数点以下 2 桁に正確に四捨五入するにはどうすればよいですか?
浮動小数点数を扱う場合は、このデータ型の制限を考慮することが重要です。特に、浮動小数点数は特定の値を正確に表現できない場合があり、四捨五入しようとすると予期しない結果が生じる可能性があります。
問題: 浮動小数点数を小数点以下 2 桁に四捨五入しようとすると、次のような問題が発生する可能性があります。次の問題が発生します:
>>> a 13.949999999999999 >>> round(a, 2) 13.949999999999999
この問題は、浮動小数点数が値を 2 のべき乗で割った整数として格納するために発生します。この表現では、すべての値が正確に取得できるわけではありません。倍精度数値 (Python の浮動小数点型で使用される) の場合、精度は 53 ビット (16 桁) ですが、通常の浮動小数点数の精度は 24 ビット (8 桁) です。
解決策:
float を四捨五入するときに小数点以下 2 桁だけを表示するには、いくつかのオプションがあります。利用可能:
例:
>>> a = 13.946 >>> print("%.2f" % a) 13.95 >>> print("{:.2f}".format(a)) 13.95
round(a, 2) を直接使用しても浮動小数点精度の問題が発生することに注意してください。 %.2f または {:.2f} を含む文字列としての値は、必要な小数点以下 2 桁の表現を生成します。
以上がPython で浮動小数点数を小数点以下 2 桁に正確に四捨五入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。