この記事では、Pythonで末尾(小数点以下)の不要な0を削除する方法について紹介します。
行うこと
0.300→0.3, 3.0→3のように末尾の不要な0を削除したい。
サンプルコード
def DecimalNormalize(value):
"""
末尾の不要な0を削除する関数。
Parameters
----------
value : float or int
対象となる数値を指定。
Returns
-------
value : float or int
"""
if isinstance(value, int) == True:
return int(value)
elif isinstance(value, float) == True:
if value.is_integer() == True:
return int(value)
return float(value)
DecimalNormalize(3.010)
使用方法
DecimalNormalize(数値)
末尾の不要な0を削除、小数点以下が0の場合はint、0以外の場合はfloatを返す。
print(DecimalNormalize(3.010))
>> 3.01
print(DecimalNormalize(3.0))
>> 3
コード解説
valueがintかfloatか判定
Pythonの組み込み関数『isinstance』を使用してデータ型を判定します。
isinstance(object, class)
第一引数のobjectが第二引数のclassであればTrueを返す。
valueが整数か小数かを判定
float型に用意されているメソッド『is_integer()』を使用して整数か小数かを判定します。値が整数であればTrue、そうでなければFalseを返す。