ホームページ >Java >&#&チュートリアル >不必要な末尾のゼロを避けるために浮動小数点数をフォーマットするにはどうすればよいですか?

不必要な末尾のゼロを避けるために浮動小数点数をフォーマットするにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-21 17:28:10770ブラウズ

How Can I Format Floating-Point Numbers to Avoid Unnecessary Trailing Zeros?

正確な制御による浮動小数点数の書式設定

浮動小数点数を扱うときは、多くの場合、不必要な小数点を使用せずに美しく整形することが望ましいです。ゼロ。 double および本物の double として保存された整数を含む値の範囲を出力するタスクを考えてみましょう。

特定の形式コードでの末尾のゼロの回避

while String.format(" %f", value) が適切に見えるかもしれませんが、小さい値の場合は末尾にゼロが追加されます。望ましい精度を達成するには、代替フォーマット コードの採用を検討してください。

10 進数チェックを備えたカスタム フォーマット関数

正確に制御するには、整数と整数を区別するカスタム フォーマット関数を実装します。 doubles:

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

この関数は、double 値が整数を表すかどうかをチェックします (強制キャストを使用)長いです)。存在する場合、String.format("%d"); を使用して値を整数としてフォーマットします。それ以外の場合は、不必要な精度を使用せずに double をフォーマットします。

出力例:

このカスタム関数を使用すると、目的の出力を実現できます:

232
0.18
1237875192
4.58
0
1.2345

ロケールに関する注意事項

文字列書式設定はロケールに依存します。正確な書式設定の結果は、地域の設定によって異なる場合があります。

以上が不必要な末尾のゼロを避けるために浮動小数点数をフォーマットするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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