浮動小数点書式設定の精度の維持
Java では、浮動小数点数を String.format("%f") で書式設定することがよくあります。その結果、小さな値の後に不要な 10 進数のゼロが続きます。この問題に対処するために、整数と double を区別し、それらを適切にフォーマットするためのカスタマイズされたアプローチが提案されています。
提供されるソリューションは、64 ビット double が特定の範囲内の整数を正確に表現できるという事実を利用しています。 double 値が長整数のキャストと同等かどうかをチェックします。 true の場合、値は String.format("%d") を使用して整数としてフォーマットされます。それ以外の場合、String.format("%s") を使用して必要最小限の精度を持つ double としてフォーマットされます。
このロジックを組み込むことにより、ソリューションは実際の精度を維持しながら、整数値から不要な 10 進ゼロを効果的に削除します。ダブルス。文字列操作は必要なく、それに伴うパフォーマンスの低下を防ぎます。
結果として、出力は次のようになります。
232 0.18 1237875192 4.58 0 1.2345
このアプローチは、次のものに依存しているため、ロケールに依存することに注意してください。文字列形式。この方法を使用する場合は、ユーザーのロケール設定に基づいてフォーマットが異なる可能性があることに注意してください。
以上がJava で不必要な末尾のゼロを避けながら浮動小数点数を正確にフォーマットするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。