Python での数値の四捨五入: 不一致への取り組み
Python で数値を扱う場合、しばしば四捨五入演算が必要になります。一般的なタスクの 1 つは、数値を最も近い整数に切り上げることです。ただし、従来のround()関数を使用すると、数値が切り上げではなく切り捨てられるという予期せぬ結果が生じることがあります。
切り捨ての問題を調べる
次の例を考えてみましょう。 :
round(2.3)
このコードは結果として 3 を生成することを期待していますが、代わりに 2 を返します。 Round() 関数は数値を最も近い整数に丸めます。この場合、整数は 2 になります。
代替アプローチ: Int() と丸めの不一致
を使用しようとしていますint(2.3 0.5) のように、切り上げるオフセットが小さい int() 関数も失敗し、代わりに 2 が生成されます。
正しい方法: Math.ceil の使用
解決策は math.ceil (ceiling) 関数にあります。この関数は、指定された数値以上の最小の整数を返します。
Python 3 の場合:
import math print(math.ceil(4.2))
このコードは、4.2 を 5 に正しく四捨五入します。
Python 2 の場合:
import math print(int(math.ceil(4.2)))
Python 2 では、ceil()関数は浮動小数点を返すため、int() 関数を使用して整数にキャストする必要があります。
math.ceil を利用すると、数値が常に最も近い整数に切り上げられるようになり、予期せぬ事態を回避できます。他のメソッドで発生した動作は切り捨てられます。
以上がPython で数値の切り上げを保証するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。