Pythonには、数値を整数に変換するためのいくつかの方法があります。その中でも、round
関数とint
関数はよく使われますが、それぞれがどのように動作するか、そしてそれらの違いは何かを理解することは重要です。
round関数とint関数の基本的な違い
int
関数は、与えられた数値を整数に変換します。このとき、小数部分は切り捨てられます。一方、round
関数は、与えられた数値を最も近い整数に丸めます。ただし、丸める数値がちょうど半分の場合、つまり.5
の場合、最も近い偶数に丸められます。
print(int(3.7)) # 出力: 3
print(round(3.7)) # 出力: 4
print(round(3.5)) # 出力: 4
print(round(2.5)) # 出力: 2
負の数に対するround関数とint関数の挙動
負の数に対しても、int
関数とround
関数は同様に動作します。int
関数は小数部分を切り捨て、round
関数は最も近い整数に丸めます。ただし、負の数に対する丸めは少し異なります。負の数の場合、.5
は0から遠い方に丸められます。
print(int(-3.7)) # 出力: -3
print(round(-3.7)) # 出力: -4
print(round(-3.5)) # 出力: -4
print(round(-2.5)) # 出力: -2
まとめ
Pythonのint
関数とround
関数は、数値を整数に変換するための便利なツールです。しかし、それぞれがどのように動作するかを理解しておくことで、意図した結果を得ることができます。特に、丸めの挙動は理解しておくと良いでしょう。