Python

【Python】末尾の不要な0を削除する

この記事では、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を返す。