ホームページ > Java > &#&チュートリアル > 数値文字列の例から取るに足らないゼロを削除します

数値文字列の例から取るに足らないゼロを削除します

Robert Michael Kim
リリース: 2025-03-07 17:50:02
オリジナル
319 人が閲覧しました

数値文字列から取るに足らないゼロを削除する:包括的なガイド

この記事では、異なるプログラミング言語で数値文字列から取るに足らないゼロを削除するという一般的な問題について説明します。トレーリングゼロ、主要なゼロ、および両方の組み合わせを処理するための効率的な方法を探ります。最も簡単なアプローチは、文字列をフローティングポイント番号に変換してから、文字列に戻すことです。 これにより、小数点の後にトレーリングゼロが自動的に削除されます。 ただし、この方法では、非常に多数または非常に少ない数の科学的表記を導入する可能性があります。 より堅牢なソリューションは、文字列の操作を利用します:

上記で示すように、Pythonの文字列として表される数字からトレーリングゼロを効率的に削除するには、

関数は単にフロートに変換するよりも効率的で堅牢な方法を提供します。直接文字列操作は、特に科学的表記を引き起こす可能性のある非常に多数の場合、浮動小数点表現の潜在的なオーバーヘッドと制限を回避します。より制御されたアプローチには、Pythonの例と同様の文字列操作が含まれます。例:

def remove_trailing_zeros(num_str):
    """Removes trailing zeros from a numeric string.

    Args:
        num_str: The input numeric string.

    Returns:
        The string with trailing zeros removed, or the original string if no trailing zeros are found.  Returns an error message if the input is not a valid numeric string.
    """
    try:
        float_num = float(num_str)
        return str(float_num)
    except ValueError:
        return "Invalid numeric string"


def remove_trailing_zeros_robust(num_str):
    """Removes trailing zeros from a numeric string without using float conversion.

    Args:
        num_str: The input numeric string.

    Returns:
        The string with trailing zeros removed, or the original string if no trailing zeros are found. Returns an error message if the input is not a valid numeric string.
    """
    try:
        if '.' not in num_str:
            return num_str  # No decimal point, nothing to remove

        integer_part, fractional_part = num_str.split('.')
        while fractional_part and fractional_part[-1] == '0':
            fractional_part = fractional_part[:-1]

        if fractional_part:
            return integer_part + '.' + fractional_part
        else:
            return integer_part
    except ValueError:
        return "Invalid numeric string"


print(remove_trailing_zeros("123.00"))  # Output: 123.0
print(remove_trailing_zeros("123.45"))  # Output: 123.45
print(remove_trailing_zeros("123.0"))   # Output: 123.0
print(remove_trailing_zeros("1000000000000000000000.00")) #Output: 1e+21 (Scientific Notation)
print(remove_trailing_zeros_robust("1000000000000000000000.00")) #Output: 1000000000000000000000
print(remove_trailing_zeros("abc"))     # Output: Invalid numeric string
ログイン後にコピー
これは、小数部からトレーリングゼロを効率的に除去するために正規表現を使用します。同時にゼロ。 ただし、これを達成するために

および

と適切なパラメーターを組み合わせることができます。

remove_trailing_zeros_robust

このコードは、ゼロまたは小数点のみを含むさまざまなシナリオを効率的に処理します。 入力文字列がnullまたは空になる可能性がある場合は、潜在的な

を処理することを忘れないでください。

以上が数値文字列の例から取るに足らないゼロを削除しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート