工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Python

Python round()関数を実例で徹底解説

Python round()関数を実例で徹底解説

round()組み込み関数はPythonでの数値処理の定番です。指定した桁数で丸めた値を返し、精度を指定しない場合は最も近い整数を返します。

構文

round(number, ndigits=None)

戻り値

ndigitsを省略するとround()はintを返します。ndigitsを指定すると、その精度で丸めたfloatを返します。

丸めルール

丸めが重要な理由:実例

金融市場では丸めが数百万ドルの取引に影響します。例えば、1982年のバンクーバー証券取引所では取引価格を小数点以下3桁で切り捨てていたため、月間で約25ポイントの累積損失が発生しました。切り捨てではなく丸めを使えば、はるかに正確な結果が得られます。

# 例: 切り捨て vs 丸め
import random

def truncate(num):
    return int(num * 1000) / 1000

arr = [random.uniform(0.01, 0.05) for _ in range(1_000_000)]

# 切り捨て
sum_truncate = 0
for val in arr:
    sum_truncate = truncate(sum_truncate + val)

# 丸め
sum_round = 0
for val in arr:
    sum_round = round(sum_round + val, 3)

print("切り捨て合計:", sum_truncate)
print("丸め合計:", sum_round)

切り捨て合計は数百単位でずれる可能性がありますが、丸めでは数分の1単位のずれに抑えられます。

よくあるユースケース

浮動小数点数の丸め

# 基本的な丸め
print(round(10.60))        # 11
print(round(10.40))        # 10
print(round(10.3456, 2))   # 10.35
print(round(10.3445, 2))   # 10.34

整数の丸め

print(round(15))  # 15

負の数の丸め

print(round(-2.8))  # -3
print(round(-1.5))  # -2

NumPy配列の丸め

import numpy as np
arr = [-0.341111, 1.455098989, 4.232323, -0.3432326, 7.626632, 5.122323]
print(np.round(arr, 2))  # [-0.34 1.46 4.23 -0.34 7.63 5.12]

decimalモジュールによる精密制御

decimalモジュールは丸めモードを細かく制御できます。

import decimal
num = decimal.Decimal('15.456')
print(num.quantize(decimal.Decimal('0.00'), rounding=decimal.ROUND_HALF_UP))  # 15.46

重要なポイント

Python

  1. C++演算子オーバーロード:コード例付き実践ガイド
  2. C++関数を実例で徹底解説:基本から応用まで
  3. Python ラムダ関数: 無名関数の実践ガイド
  4. Pythonジェネレータ:効率的イテレーションと高度なユースケース
  5. Pythonクロージャ解説:ネスト関数が変数を捕捉する仕組み
  6. Pythonデコレータマスター:エキスパート技法で関数を拡張
  7. Python print()関数の実践ガイド:基本から応用まで
  8. Python strip()メソッド完全ガイド:実践例付き
  9. Python str.count()マスター:文字と部分文字列のカウント実例集
  10. Python format()文字列を明確な例でマスター
  11. Python String.find()メソッド完全ガイド:構文、例、代替手法