Pythonでは指定した桁数で四捨五入するためのround関数が用意されています。
浮動小数点数を桁数を指定して丸めたい
そこで、ここでは指定した桁数で丸めるためのround関数について、以下の内容で解説していきます。
- 【基礎】round関数とは
- 【基礎】round関数の使い方
- 【発展】小数点の桁数を指定する方法
- 【発展】整数の桁数を指定する方法
- 【発展】round関数の注意点
round関数の使い方についてわかりやすくまとめていますので、ぜひ参考にしてください!
本記事を読む前に、Pythonがどんなプログラミング言語なのかをおさらいしておきたい人は次の記事を参考にしてください。
→ Pythonとは?特徴やできること、活用例をわかりやすく簡単に解説
なお、その他の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関数について忘れてしまったら、この記事を思い出してくださいね!