【Python】round()を使って小数点の四捨五入を行う!
Pythonのround()を使用すると指定した数値の小数点の四捨五入を行います。
round()とは指定した数値を四捨五入した数値で返す関数であり、「14.7」という数値にround()を使用すると「15」という値にして返すようになります。
基本、round()は小数第一位の数値を四捨五入しますが、パラメータを指定することによって小数第二位や第三位など、四捨五入する位を設定することができます。
また、 map()と組み合わせて使用すると複数の数値をまとめて四捨五入することができるので、たくさんの数値に対して四捨五入を行いたい場合は便利です。
今回はPythonのround()で小数点の四捨五入を行う方法について以下の内容で解説していきます。
⚫︎ 小数第一位の数値を四捨五入する場合
⚫︎ 小数第一位以降の数値を四捨五入する場合
⚫︎ round()で整数の位の四捨五入を行う場合
⚫︎ 複数の数値をまとめて四捨五入する方法
⚫︎ 書式設定を行って四捨五入を行う方法
目次
round()とは
round()とは、指定した数値を四捨五入した数値で返す関数となります。
round()の書き方
round()の書き方は下記となります。
1 |
round(数値 [, 四捨五入する位]) |
round()のパラメータ
⚫︎ 数値:
四捨五入したい数値を指定する
⚫︎ 四捨五入する位:
四捨五入する位をインデックスで指定する
round()に数値を指定することで、指定した数値の小数第一位を四捨五入した数値を返します。
また、四捨五入する位を指定することで、四捨五入したい位を設定して四捨五入した数値を返します。
小数点の四捨五入を行うサンプルコード
小数点の四捨五入を行うサンプルコードを紹介します。
小数第一位の数値を四捨五入する場合
round()で小数第一位の数値を四捨五入する場合はパラメータに数値を指定します。
例
1 2 3 4 5 6 7 8 9 10 11 |
print('round()で数値を四捨五入') num1 = 13.4567 print('・四捨五入する数値:', num1) num1_rd = round(num1) print('・round()使用後:', num1_rd) num2 = 10 print('・四捨五入する数値:', num2) num2_rd = round(num2) print('・round()使用後:', num2_rd) |
出力結果
round()で数値を四捨五入
・四捨五入する数値: 13.4567
・round()使用後: 13
・四捨五入する数値: 10
・round()使用後: 10
round()によって小数第一位の数値を四捨五入した値が返されています。
その為、「13.4567」が「13」となり、「10」が「10」として表示されています。
小数第一位以降の数値を四捨五入する場合
round()で小数第一位以降の数値を四捨五入する場合はパラメータに四捨五入する位を正の数で指定します。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
print('round()で数値を四捨五入') num1 = 13.45378 print('・四捨五入する数値:', num1,) num1_rd = round(num1, 1) print('・round()使用後:', num1_rd) num2 = 10.56789 print('・四捨五入する数値:', num2) num2_rd = round(num2, 2) print('・round()使用後:', num2_rd) num3 = 14.6723 print('・四捨五入する数値:', num3,) num3_rd = round(num3, 3) print('・round()使用後:', num3_rd) |
出力結果
round()で数値を四捨五入
・四捨五入する数値: 13.45378
・round()使用後: 13.5
・四捨五入する数値: 10.56789
・round()使用後: 10.57
・四捨五入する数値: 14.6723
・round()使用後: 14.672
round()によって小数第一位以降の数値を四捨五入した値が返されています。
その為、「13.45378」が「13.5」となり、「10.56789」が「10.57」となり、「14.6723」が「14.672」として表示されています。
round()で整数の位の四捨五入を行う場合
round()で整数の位の四捨五入を行う場合はパラメータの四捨五入する位に負の整数を指定します。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
print('round()で数値を四捨五入') num1 = 1334567.45378 print('・四捨五入する数値:', num1,) num1_rd = round(num1, -1) print('・round()使用後:', num1_rd) num2 = 67840.56789 print('・四捨五入する数値:', num2) num2_rd = round(num2, -2) print('・round()使用後:', num2_rd) num3 = 897514.6723 print('・四捨五入する数値:', num3,) num3_rd = round(num3, -3) print('・round()使用後:', num3_rd) |
出力結果
round()で数値を四捨五入
・四捨五入する数値: 1334567.45378
・round()使用後: 1334570.0
・四捨五入する数値: 67840.56789
・round()使用後: 67800.0
・四捨五入する数値: 897514.6723
・round()使用後: 898000.0
パラメータの四捨五入する位に負の整数を指定することで整数の位で四捨五入を行っています。
その為、「-1」の場合は一の位を、「-2」の場合は十の位を、「-3」の場合は百の位を四捨五入して表示しています。
複数の数値をまとめて四捨五入する方法
round()はmap()と組み合わせて使用すると、複数の数値をまとめて四捨五入することができます。
もし、map()について詳しく知りたい場合はこちらをご参考ください。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
print('round()で数値を四捨五入') list1 = [1334567.45378, 1345.567, 12334.6776] print('・四捨五入する数値:', list1) list1_rd = list(map(round, list1)) print('・round()使用後:', list1_rd) def round2(x): return round(x, -2) list2 = [6784, 56789, 3346, 4567] print('・四捨五入する数値:', list2) list2_rd = list(map(round2, list2)) print('・round()使用後:', list2_rd) |
出力結果
round()で数値を四捨五入
・四捨五入する数値: [1334567.45378, 1345.567, 12334.6776]
・round()使用後: [1334567, 1346, 12335]
・四捨五入する数値: [6784, 56789, 3346, 4567]
・round()使用後: [6800, 56800, 3300, 4600]
round()とpmap()と組み合わせることで、複数の数値をまとめて四捨五入を行なっています。
しかし、round()はパラメータを指定できないので、自動的に小数第一位が四捨五入されるようになります。
もし、四捨五入する位を設定したい場合はサンプルコードのようにオリジナルの関数を作成し、それをmap()に指定する必要があります。
書式設定を行って四捨五入を行う方法
数値の四捨五入を行う関数はround()以外にもformat()という関数で書式設定を行って数値の四捨五入を行うことができます。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
print('format()で数値を四捨五入') num1 = 3.141 print('・四捨五入する数値:', num1) num1_ft = format(num1, '.0f') print('・round()使用後:', num1_ft) num2 = 6.286 print('・四捨五入する数値:', num2) num2_ft = format(num2, '.1f') print('・round()使用後:', num2_ft) num3 = 3.14159265 print('・四捨五入する数値:', num3) num3_ft = format(num3, '.2f') print('・round()使用後:', num3_ft) |
出力結果
format()で数値を四捨五入
・四捨五入する数値: 3.141
・round()使用後: 3
・四捨五入する数値: 6.286
・round()使用後: 6.3
・四捨五入する数値: 3.14159265
・round()使用後: 3.14
format()で数値の四捨五入を行っています。
もし、format()について詳しく知りたい場合はこちらをご参考ください。
今回のポイント
round()で数値の小数点を四捨五入
Pythonで数値の小数点を四捨五入するにはround()を使用する。
⚫︎ round()のパラメータには数値を指定する
(小数第一位の数値が四捨五入される)
⚫︎ round()で小数第一位以降の数値を四捨五入するには、数値と四捨五入する位の2つを指定する
⚫︎ round()で整数の位の四捨五入を行うには四捨五入する位に負の整数を指定する
⚫︎ map()と組み合わせて使用すると、複数の数値をまとめて四捨五入することができる
⚫︎ format()を使用してでも数値の四捨五入を行うことができる
(書式設定を行って四捨五入を行う)
関連記事
Pythonのceil()で小数点以下を切り上げるならこちらをご参考ください。
Pythonのfloor()で小数点以下を切り捨てるならこちらをご参考ください。
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。