【Python】小数点以下の任意桁で切り捨て・切り上げする方法

この記事では、Pythonを使って小数点以下の任意桁で数値を切り捨てる方法、切り上げる方法、丸める方法を紹介します。

初心者の方でも分かりやすく解説しているので、ぜひ参考にしてください。

目次から探す

小数点以下の任意桁で切り捨てる方法

mathモジュールを使った方法

Pythonのmathモジュールを使用すると、小数点以下の任意桁で切り捨てることができます。

math.floor()関数を使うことで、与えられた数値を小数点以下の最も近い整数に切り捨てることができます。

import math

num = 3.14159
rounded_num = math.floor(num * 10**2) / 10**2
print(rounded_num)  # 出力結果: 3.14

decimalモジュールを使った方法

Pythonのdecimalモジュールを使用すると、高精度な10進数演算を行うことができます。

decimal.Decimalクラスを使用して、小数点以下の任意桁で切り捨てることができます。

from decimal import Decimal, ROUND_DOWN

num = Decimal('3.14159')
rounded_num = num.quantize(Decimal('0.01'), rounding=ROUND_DOWN)
print(rounded_num)  # 出力結果: 3.14

numpyやpandasなどのライブラリを使った方法

Pythonのnumpyやpandasなどのライブラリを使用することでも、小数点以下の任意桁で切り捨てることができます。

例えば、numpy.floor()関数を使用することで、配列内の要素を切り捨てることができます。

import numpy as np

arr = np.array([1.234, 5.678, 9.012])
rounded_arr = np.floor(arr * 10**2) / 10**2
print(rounded_arr)  # 出力結果: [1.23 5.67 9.01]

これらの方法を使うことで、Pythonで小数点以下の任意桁で数値を切り捨てることができます。

小数点以下の任意桁で切り上げる方法

mathモジュールを使った方法

Pythonのmathモジュールを使用すると、小数点以下の任意桁で切り上げることができます。

mathモジュールのceil()関数を使用することで、指定した桁数で切り上げることができます。

import math

num = 3.14159
rounded_num = math.ceil(num * 10**2) / 10**2  # 小数点以下2桁で切り上げる
print(rounded_num)  # 出力: 3.15

上記のコードでは、3.14159を小数点以下2桁で切り上げています。

math.ceil()関数は与えられた数値を切り上げる関数であり、小数点以下の桁数を調整するために10のべき乗を利用しています。

decimalモジュールを使った方法

Pythonのdecimalモジュールを使用すると、高精度な10進数演算を行うことができます。

decimalモジュールのDecimalクラスを使用して、小数点以下の任意桁で切り上げることができます。

from decimal import Decimal, ROUND_CEILING

num = Decimal('3.14159')
rounded_num = num.quantize(Decimal('0.01'), rounding=ROUND_CEILING)  # 小数点以下2桁で切り上げる
print(rounded_num)  # 出力: 3.15

上記のコードでは、Decimal(‘3.14159’)を小数点以下2桁で切り上げています。

quantize()メソッドを使用することで、指定した桁数で切り上げることができます。

numpyやpandasなどのライブラリを使った方法

NumPyやPandasなどのライブラリを使用することでも、小数点以下の任意桁で切り上げることができます。

これらのライブラリを使用すると、配列やデータフレームなどのデータ構造に対して効率的に演算を行うことができます。

import numpy as np

arr = np.array([3.14159, 2.71828, 1.41421])
rounded_arr = np.ceil(arr * 10**2) / 10**2  # 小数点以下2桁で切り上げる
print(rounded_arr)  # 出力: [3.15 2.72 1.42]

上記のコードでは、NumPyを使用して配列の要素を小数点以下2桁で切り上げています。

np.ceil()関数を使用することで、配列内の要素を切り上げることができます。

これらの方法を使うことで、Pythonで小数点以下の任意桁で切り上げることができます。

それぞれの方法を使い分けて、自分のプログラムに適した方法を選択してみてください。

小数点以下の任意桁で丸める方法

mathモジュールを使った方法

Pythonのmathモジュールを使用して小数点以下の任意桁で数値を丸めることができます。

mathモジュールのround()関数を使用することで、指定した桁数まで数値を丸めることができます。

以下は、小数点以下2桁で数値を丸める例です。

import math

num = 3.14159
rounded_num = round(num, 2)
print(rounded_num)  # 出力結果: 3.14

decimalモジュールを使った方法

Pythonのdecimalモジュールを使用すると、高い精度で小数点以下の任意桁で数値を丸めることができます。

decimalモジュールのquantize()メソッドを使用することで、指定した桁数まで数値を丸めることができます。

以下は、小数点以下3桁で数値を丸める例です。

from decimal import Decimal, ROUND_HALF_UP

num = Decimal('1.23456')
rounded_num = num.quantize(Decimal('0.001'), rounding=ROUND_HALF_UP)
print(rounded_num)  # 出力結果: 1.235

numpyやpandasなどのライブラリを使った方法

NumPyやPandasなどのライブラリを使用することで、効率的に数値を丸めることができます。

例えば、NumPyのaround()関数を使用することで、小数点以下の任意桁で数値を丸めることができます。

以下は、小数点以下1桁で数値を丸める例です。

import numpy as np

num = 5.6789
rounded_num = np.around(num, decimals=1)
print(rounded_num)  # 出力結果: 5.7

これらの方法を使うことで、Pythonで小数点以下の任意桁で数値を丸めることができます。

目次から探す