【Python】四捨五入(round)

この記事では、Python言語を用いて四捨五入を計算する方法をソースコード付きで解説します。

Pythonで四捨五入

Python2ではround(x, i)関数でxを四捨五入して小数第i位まで求めることが出来ます。
ただし、Python3の場合は四捨五入でなく丸めになります。

ソースコード

サンプルプログラムのソースコードです。

Python2

# -*- coding: utf-8 -*-

x = 1.23
x = round(x, 1)

print x # 1.2

if __name__ == "__main__":
    main()

Python3

# -*- coding: utf-8 -*-
import math

def my_round(x, d=0):
    p = 10 ** d
    return float(math.floor((x * p) + math.copysign(0.5, x)))/p


x = 1.23

x = my_round(x, 1)

print(x) # 1.2
関連ページ
1 【Python】標準モジュールで数値計算
2 【Python】数値計算プログラミング
3 【Python入門】サンプル集

コメント

  1. 匿名 より:

    Python3ではround関数は四捨五入ではなく丸めですね

    • 管理人 より:

      ※匿名様
      ご報告ありがとうございます。
      ご指摘頂いたとおり、Python3ではround関数は四捨五入ではなく丸めになるようですね。
      該当箇所を修正致しました。