ホームページ >Java >&#&チュートリアル >浮動小数点数を正確にフォーマットして不必要なゼロを削除するにはどうすればよいでしょうか?

浮動小数点数を正確にフォーマットして不必要なゼロを削除するにはどうすればよいでしょうか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-22 13:04:55420ブラウズ

How Can We Precisely Format Floating-Point Numbers to Eliminate Unnecessary Zeros?

浮動小数点数の高精度フォーマット: 不必要なゼロの削除

数値データを表現する場合、特に浮動小数点数を扱う場合、精度と可読性のバランスをとることが困難になることがあります。ポイント番号。この問題は、これらの数値を出力するときに発生し、多くの場合、末尾のゼロや不要な小数点以下の桁が表示されます。

問題:

以下を含むすべての数値を表すには、double 型を使用することを検討してください。整数。ただし、これらの疑似整数を double として出力すると、小さい値の末尾にゼロが発生するという問題が発生します。

必要な出力:

目標は、double をきれいに出力することです。実際の精度を維持しながら、整数値の末尾のゼロを抑制する形式。 doubles.

解決策:

この状況を効果的に処理するには、double が 2 までの整数を正確に表現できるという事実を利用するカスタム書式設定関数を実装できます53。 fmt(double d) という名前の関数は次のように動作します:

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

これにより、%d 形式指定子を利用することで疑似整数を整数として出力できるようになりますが、実際の double は %s を使用して精度を保持します。 specifier.

出力例:

カスタムフォーマット関数は次の出力を生成します:

232
0.18
1237875192
4.58
0
1.2345

パフォーマンスの最適化:

fmt 関数は文字列操作を回避することで、効率的なパフォーマンスを保証します。対照的に、ゼロのトリミングに依存するソリューションでは、文字列操作によりパフォーマンスが大幅に低下します。

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

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