ホームページ  >  記事  >  バックエンド開発  >  四捨五入の詳しい解説 ~python2とpython3のバージョンの違い~

四捨五入の詳しい解説 ~python2とpython3のバージョンの違い~

高洛峰
高洛峰オリジナル
2016-10-17 16:05:431886ブラウズ

round() メソッドは、n 桁に四捨五入した値の小数点を返します。

構文

以下は、round() メソッドの構文です:

round( x [, n] )


パラメータ

- これは数値でもあり、後で保持される桁数を示します。小数点

戻り値

このメソッドは、n 個の数値に四捨五入された値 x の小数点を返します

追記: ngitits が渡されない場合、round は受信データを四捨五入します。デフォルトは 0 (つまり、整数部分) です。 ngitits


次の例は、round() メソッドの使用法を示しています

#!/usr/bin/python2
print "round(80.23456, 2) : ", round(80.23456, 2)
print "round(100.000056, 3) : ", round(100.000056, 3)
print "round(-100.000056, 3) : ", round(-100.000056, 3)
上記のプログラムを実行すると、次の結果が生成されます:

round(80.23456, 2) : 80.23
round(100.000056, 3) : 100.0
round(-100.000056, 3) : -100.0
e

python3 と python2 のバージョンの違い

Python2 は X Four House と Five を 0 0 から 0 0 の最新の倍数に入力します。 0 0 の最も近い倍数に丸めます (round(0.5)=1、round(-0.5)=-1 など)。

Python3 は、round(0.5)=0、round( など) で x を最も近い偶数の倍数に丸めます。 1.5)=2.0、round(2.5 )=2.0

コード:

#!/usr/bin/python2
print round(2.635, 2)
print round(2.645, 2)
print round(2.655, 2)
print round(2.665, 2)
print round(2.675, 2)


出力結果:

2.63
2.65
2.65
2.67
2.67

roundメソッドの欠陥


上記の例を通して、次のことがわかります。 Round の丸め方法は同じではないことを理解してください。実際、これは主に入力時の 10 進数から 2 進数への変換に起因します。精度が高く、解決する必要はありません。


Python の 10 進数モジュールを使用して、この問題を解決できます。


四捨五入する必要がない場合は、最もよく知られた print("%.2f" % 2.675) メソッドの使用を検討することもできます。


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