Pythonでround関数による四捨五入の方法を解説!

Pythonでは指定した桁数で四捨五入するためのround関数が用意されています。

浮動小数点数を整数に丸めたい
浮動小数点数を桁数を指定して丸めたい

そこで、ここでは指定した桁数で丸めるためのround関数について、以下の内容で解説していきます。

  • 【基礎】round関数とは
  • 【基礎】round関数の使い方
  • 【発展】小数点の桁数を指定する方法
  • 【発展】整数の桁数を指定する方法
  • 【発展】round関数の注意点

round関数の使い方についてわかりやすくまとめていますので、ぜひ参考にしてください!

なお、Pythonの記事については、こちらにまとめています。

round関数とは

round関数は、Pythonで標準で用意されている組み込み関数です。主に浮動小数点数を四捨五入したいときに使われます。round関数の書き方:

round(数値)
round(数値, 桁数)

第一引数のみ指定した場合は整数に四捨五入されます。第二引数には小数点何桁まで丸めるかを指定します。第二引数を指定した場合はfloat型が返されます。それでは次項より具体的な使い方を見ていきましょう。

round関数の使い方

round関数で簡単に小数点以下を丸めて整数として取得したい場合、先述したようにround関数の第一引数に丸めたい値を指定すればOKです。以下のプログラムをご覧ください。

f = 123.4567

print(round(f))

実行結果:

123

このように小数点以下が丸められることがわかりますね!

小数点の桁数を指定する方法

桁数を指定する場合は第二引数に丸めたい桁数を指定すればOKです。以下のプログラムをご覧ください。

f = 123.4567

print(round(f, 1))

print(round(f, 2))

print(round(f, 3))

print(round(f, 0))

print(round(f, -1))

print(round(f, -2))

実行結果:

123.5
123.46
123.457
123.0
120.0
100.0

第二引数に整数を指定すると、指定した桁数で小数点が丸められることがわかりますね。0を指定した場合は整数に丸められずにfloat型を返します。引数に負の数を指定した場合、-1では10の位が丸められ、-2では100の位が丸められます。

整数の桁数を指定する方法

round関数は第二引数を指定すると整数の桁数を丸めることもできます。以下のプログラムをご覧ください。

n = 1234567

print(round(n))

print(round(n, 1))

print(round(n, 2))

print(round(n, 0))

print(round(n, -1))

print(round(n, -2))

print(round(n, -3))

実行結果:

1234567
1234567
1234567
1234567
1234570
1234600
1235000

round関数で整数を指定した場合、引数を指定しない場合や正の数を指定した場合、0を指定した場合は元の値が返されます。第二引数に負の数を指定した場合は小数点を指定した場合同様、-1では10の位が丸められ、-2では100の位が丸められます。

round関数の注意点

浮動小数点数や整数を指定した桁数で丸めるときに便利なround関数ですが、注意点もあります。

公式ドキュメントには以下のように書かれています。

注釈 浮動小数点数に対する round() の振る舞いは意外なものかもしれません: 例えば、 round(2.675, 2) は予想通りの 2.68 ではなく 2.67 を与えます。これはバグではありません: これはほとんどの小数が浮動小数点数で正確に表せないことの結果です。

f = 2.675

print(round(f, 2))

実行結果:

2.67

つまり、浮動小数点数は基数を2とする分数で表現されているため、最後の桁数が5の場合は正確に繰り上げがされませんので注意しましょう。

浮動小数点演算、その問題と制限

まとめ

ここでは、指定した桁数で整数、浮動小数点数を丸められるround関数について解説しました。

  • round関数とは
  • round関数の使い方
  • 小数点の桁数を指定する方法
  • 整数の桁数を指定する方法
  • round関数の注意点

round関数は整数や小数点をまるめるのに非常に便利ですので使い方についてはしっかりと理解しておきましょう。もし、round関数について忘れてしまったら、この記事を思い出してくださいね!

プログラミング学習中、
誰かへ相談したいことはありませんか?

SAMURAI TERAKOYA

プログラミングはエラーの連続。作業を進めるなかで誰かに教えてほしい場面は多いですよね。

そんな悩みを解決できるのが、侍テラコヤです。月額2,980円から学べて、現役エンジニアとオンラインで相談できるほか、回答率100%のQA掲示版でプログラミングに関する悩みを解決します!

公式サイトからご入会いただくと、お得なクーポンを利用できるので、気になる方はぜひ詳細をご覧ください。

詳しくはこちら

Writer

侍テック編集部

株式会社SAMURAI

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。侍テック編集部では技術系コンテンツを中心に有用な情報を発信していきます。

あなたの目的に合わせた
SAMURAI ENGINEERの運営サービス

SAMURAI ENGINEER Pro

未経験でも挫折しないプログラミングスクール

詳細はこちら

SAMURAI TERAKOYA

日本最大級のサブスク型オンラインITスクール

詳細はこちら

SAMURAI ENGINEER Freelance

「一人で稼げる」スキルを身につける

詳細はこちら
Close