Pythonのround()関数についての解説

Pythonのround()関数についての解説

round()関数は、Pythonの組み込み関数で、数値を指定した小数点以下の桁数に四捨五入するために使用されます。整数に四捨五入することも、小数点以下の特定の桁数まで四捨五入することもできます。この関数を使うことで、数値の精度を調整する際に非常に便利です。この記事では、round()関数の基本的な使い方と応用例について解説します。

round()関数の基本的な使い方

round()関数は、数値を四捨五入し、指定した精度に応じた値を返します。引数には、四捨五入する数値と、小数点以下の桁数(オプション)を指定します。

整数への四捨五入の例

小数点以下を指定せずに四捨五入すると、最も近い整数に四捨五入されます。

# 整数に四捨五入
number = 3.7
rounded_number = round(number)
print(f"{number} を四捨五入した結果: {rounded_number}")

この例では、3.7が四捨五入されて4が返されます。

小数点以下の桁数を指定して四捨五入する例

小数点以下の桁数を指定すると、その桁数に応じて四捨五入されます。

# 小数点以下2桁に四捨五入
number = 3.14159
rounded_number = round(number, 2)
print(f"{number} を小数点以下2桁に四捨五入した結果: {rounded_number}")

この例では、3.14159が四捨五入されて3.14が返されます。

応用的な使い方

round()関数は、整数や小数の四捨五入以外にも、他の用途で使用することができます。

負の桁数を指定して四捨五入する例

桁数に負の値を指定すると、整数部分を指定した位に四捨五入することができます。

# 負の桁数を指定して四捨五入
number = 12345
rounded_number = round(number, -2)
print(f"{number} を百の位に四捨五入した結果: {rounded_number}")

この例では、12345が四捨五入されて、百の位が12300として返されます。

リスト内のすべての数値を四捨五入する例

リスト内のすべての数値を指定した桁数で四捨五入することができます。

# リスト内のすべての数値を四捨五入
numbers = [3.14159, 2.71828, 1.61803]
rounded_numbers = [round(num, 2) for num in numbers]
print(f"四捨五入されたリスト: {rounded_numbers}")

この例では、リスト内のすべての数値が小数点以下2桁に四捨五入され、[3.14, 2.72, 1.62]が返されます。

複素数の実部を四捨五入する例

複素数の実部や虚部に対して四捨五入を行うことができます。

# 複素数の実部を四捨五入
complex_number = 3.14159 + 2.71828j
rounded_real = round(complex_number.real, 2)
rounded_complex = complex(rounded_real, complex_number.imag)
print(f"四捨五入された複素数: {rounded_complex}")

この例では、複素数3.14159 + 2.71828jの実部を四捨五入して3.14 + 2.71828jが返されます。

注意点

Pythonのround()関数は、「銀行丸め(近接偶数丸め)」と呼ばれる方式を使用します。これは、四捨五入の対象がちょうど真ん中(例:0.5)の場合に、最も近い偶数に丸められるというものです。この方法は、統計的なバイアスを減らすために使用されます。

銀行丸めの例

# 銀行丸めの例
number1 = round(2.5)
number2 = round(3.5)
print(f"2.5 の四捨五入: {number1}")  # 出力: 2
print(f"3.5 の四捨五入: {number2}")  # 出力: 4

この例では、2.52に四捨五入され、3.54に四捨五入されます。これが銀行丸めです。

まとめ

Pythonのround()関数は、数値を指定した桁数に四捨五入するための非常に便利なツールです。整数や小数点以下の桁数を指定して四捨五入することができ、リスト内の数値の処理や複素数の実部の四捨五入にも応用できます。また、round()関数は銀行丸めを使用しているため、四捨五入の対象がちょうど真ん中の場合には、偶数に丸められることを理解しておくと良いでしょう。

関連記事

コメント

この記事へのコメントはありません。