ホームページ >Java >&#&チュートリアル >Java で不必要な 10 進数のゼロを使用せずに浮動小数点数をエレガントにフォーマットするにはどうすればよいですか?

Java で不必要な 10 進数のゼロを使用せずに浮動小数点数をエレガントにフォーマットするにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-28 16:41:10706ブラウズ

How Can I Elegantly Format Floating-Point Numbers in Java Without Unnecessary Decimal Zeros?

余分な 10 進ゼロを使用せずに浮動小数点数をエレガントにフォーマットする

Java プログラミングの領域では、浮動小数点数のフォーマットは、特に次のような場合に課題となることがあります。 double として格納された整数と実際の double の混合を処理します。デフォルトの書式設定メソッド String.format("%f") では、小さい値の末尾にゼロが導入されることが多く、目的の出力が歪められます。

解決策の 1 つは、整数と倍精度浮動小数点を区別するカスタム書式設定メソッドを採用することです。これは、条件付き評価によって実現できます。

public static String fmt(double d) {
    if (d == (long) d)
        return String.format("%d", (long) d);
    else
        return String.format("%s", d);
}

このメソッドは、整数を整数として返し、必要な最小限の精度で 2 倍にし、目的の出力を生成します。

232
0.18
1237875192
4.58
0
1.2345

条件付き書式設定を利用することで、このアプローチにより、文字列操作に伴うパフォーマンスの低下が回避され、整数と倍精度の両方の正確な表現が保証されます。

注意: Java の文字列フォーマットはロケールに依存する可能性があるため、提供されるソリューションはアプリケーションのロケール設定に基づいて調整する必要がある場合があることに注意してください。

以上がJava で不必要な 10 進数のゼロを使用せずに浮動小数点数をエレガントにフォーマットするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。