【Python】小数点以下の切り上げならceil()!
Pythonのmath.ceil()を使用すると、数値の小数点以下を切り上げることができます。
math.ceil()とは数値の小数点以下を切り上げて返す関数であり、指定した数値を四捨五入関係なく切り上げるようになります。
そして、math.ceil()の他にもnumpyライブラリのceil()でも小数点以下を切り上げることができ、切り上げた数値をfloat型で返すようになります。
また、map()と組み合わせて使用すると小数点以下の複数の数値をまとめて切り上げることができるので、まとめて数値を切り上げたい時にはとても便利です。
今回はPythonのmath.ceil()で小数点以下を切り上げる方法について以下の内容で解説していきます。
⚫︎ 正の数で小数点以下を切り上げる場合
⚫︎ 負の数で小数点以下切り上げる場合
⚫︎ numpy.ceil()で小数点以下の切り上げる方
⚫︎ 小数点以下の複数の数値をまとめて切り上げる方法
目次
math.ceil()とは
math.ceil()とは、指定した数値の小数点以下を切り上げて返す関数となります。
math.ceil()の書き方
math.ceil()の書き方は下記となります。
1 |
math.ceil('数値') |
math.ceil()のパラメータ
⚫︎ 数値:
小数点の切り上げを行いたい数値を指定する
math.ceil()のパラメータに数値を指定することで、指定した数値の小数点以下を切り上げて返すようになります。
小数点以下の切り上げるサンプルコード
小数点以下の切り上げるサンプルコードを紹介します。
正の数で小数点以下を切り上げる場合
正の数で小数点以下の切り上げを行ってみます。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import math num1 = 200.56 num2 = 200.34 print(num1) print(num2) print('・math.ceil()で正の数の小数点以下を切り上げる') num1_ceil = math.ceil(num1) num2_ceil = math.ceil(num2) print('切り上げ後', num1_ceil) print('切り上げ後', num2_ceil) |
出力結果
200.56
200.34
・math.ceil()で正の数の小数点以下を切り上げる
切り上げ後 201
切り上げ後 201
math.ceil()によって、正の数の小数点以下を切り上げています。
負の数で小数点以下切り上げる場合
負の数で小数点以下の切り上げを行ってみます。
例
1 2 3 4 5 6 7 8 9 10 11 12 |
import math num1 = -234.56 num2 = -234.34 print(num1) print(num2) print('・math.ceil()で負の数の小数点以下を切り上げる') num1_ceil = math.ceil(num1) num2_ceil = math.ceil(num2) print('切り上げ後', num1_ceil) print('切り上げ後',, num2_ceil) |
出力結果
-234.56
-234.34
・math.ceil()で負の数の小数点以下を切り上げる
切り上げ後 -234
切り上げ後 -234
math.ceil()によって、負の数の小数点以下を切り上げています。
負の数の場合は、「0」に近づくよう切り上げるようになるので、「-235」ではなく「-234」になります。
numpy.ceil()で小数点以下の切り上げる方法
小数点以下を切り上げるにはmath.ceil()だけでなく、numpy.ceil()で小数点以下の切り上げることもできます。
numpy.ceil()も小数点以下を切り上げますが、切り上げた数値をfloat型で返すようになります。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
import numpy num1 = 234.5 num2 = 234.3 print(num1) print(num2) print('・numpy.ceil()で正の数の小数点以下を切り上げる') num1_ceil = numpy.ceil(num1) num2_ceil = numpy.ceil(num2) print('切り上げ後', num1_ceil) print('切り上げ後', num2_ceil) num3 = -314.5 num4 = -314.3 print(num3) print(num4) print('・numpy.ceil()で負の数の小数点以下を切り上げる') num3_ceil = numpy.ceil(num3) num4_ceil = numpy.ceil(num4) print('切り上げ後', num3_ceil) print('切り上げ後', num4_ceil) |
出力結果
234.5
234.3
・math.ceil()で正の数の小数点以下を切り上げる
切り上げ後 235.0
切り上げ後 235.0
-314.5
-314.3
・math.ceil()で負の数の小数点以下を切り上げる
切り上げ後 -314.0
切り上げ後 -314.0
numpy.ceil()で小数点以下を切り上げ、float型で返しています。
小数点以下の複数の数値をまとめて切り上げる方法
ceil()はmap()と組み合わせて使用することで、小数点以下の複数の数値をまとめて切り上げることができます。
もし、map()関数ついて詳しく知りたい場合はこちらをご参考ください。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
import math import numpy list1 = [1.67, 2.23, 3.89, 4.99, 5.023, 100.91] list2 = [-0.3, -1.3, -5.55, -8.82, -10.023, -999.9] print(list1) print(list2) print('・map()で小数点以下をまとめて切り上げる') list1_ceil = list(map(math.ceil, list1)) list2_ceil = list(map(math.ceil, list2)) print('切り上げ後', list1_ceil) print('切り上げ後', list2_ceil) print('・切り上げた数値を取り出す') for i in list1_ceil: print(i) print('・切り上げた数値を取り出す') for j in list2_ceil: print(j) print('・map()で小数点以下をまとめて切り上げる') list3_ceil = list(map(numpy.ceil, list1)) list4_ceil = list(map(numpy.ceil, list2)) print('切り上げ後', list3_ceil) print('切り上げ後', list4_ceil) print('・切り上げた数値を取り出す') for k in list3_ceil: print(k) print('・切り上げた数値を取り出す') for l in list4_ceil: print(l) |
出力結果
[1.67, 2.23, 3.89, 4.99, 5.023, 100.91]
[-0.3, -1.3, -5.55, -8.82, -10.023, -999.9]
・map()で小数点以下をまとめて切り上げる
切り上げ後 [2, 3, 4, 5, 6, 101]
切り上げ後 [0, -1, -5, -8, -10, -999]
・切り上げた数値を取り出す
2
3
4
5
6
101
・切り上げた数値を取り出す
0
-1
-5
-8
-10
-999
・map()で小数点以下をまとめて切り上げる
切り上げ後 [2.0, 3.0, 4.0, 5.0, 6.0, 101.0]
切り上げ後 [-0.0, -1.0, -5.0, -8.0, -10.0, -999.0]
・切り上げた数値を取り出す
2.0
3.0
4.0
5.0
6.0
101.0
・切り上げた数値を取り出す
-0.0
-1.0
-5.0
-8.0
-10.0
-999.0
ceil()とmap()によって、小数点以下の複数の数値をまとめて切り上げています。
そして、切り上げた複数の数値をfor文で取り出しています。
今回のポイント
math.ceil()で小数点以下の数値を切り上げる
Pythonで小数点以下の数値を切り上げるにはmath.ceil()を使用する。
⚫︎ math.ceil()で小数点以下を切り上げると四捨五入関係なく切り上げが行われる
⚫︎ math.ceil()で負の数の小数点以下を切り上げると0に近づくように切り上げが行われる
⚫︎ 小数点以下を切り上げるにはmath.ceil()だけでなく、numpy.ceil()で小数点以下の切り上げることもできる
(numpy.ceil()はfloat型で返す)
⚫︎ ceil()はmap()と組み合わせて使用することで、小数点以下の複数の数値をまとめて切り上げることができる
関連記事
Pythonのfloor()で数値の小数点以下を切り捨てる方法について詳しく知りたい場合はこちらをご参考ください。
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。