Home > Java > javaTutorial > How Can I Precisely Format Floating-Point Numbers in Java While Avoiding Unnecessary Trailing Zeros?

How Can I Precisely Format Floating-Point Numbers in Java While Avoiding Unnecessary Trailing Zeros?

Susan Sarandon
Release: 2024-12-29 01:09:16
Original
156 people have browsed it

How Can I Precisely Format Floating-Point Numbers in Java While Avoiding Unnecessary Trailing Zeros?

Preserving Precision in Floating-Point Formatting

In Java, formatting floating-point numbers with String.format("%f") often results in unwanted decimal zeros trailing small values. To address this issue, a customized approach is proposed to distinguish integers from doubles and format them appropriately.

The provided solution utilizes the fact that 64-bit doubles can represent integers within a specific range exactly. It checks if the double value is equivalent to its long integer casting. If true, the value is formatted as an integer using String.format("%d"). Otherwise, it is formatted as a double with the minimum necessary precision using String.format("%s").

By incorporating this logic, the solution effectively removes unnecessary decimal zeros from integer values while preserving precision for actual doubles. No string manipulation is required, preventing any performance loss associated with it.

As a result, the output is:

232
0.18
1237875192
4.58
0
1.2345
Copy after login

Note that this approach is locale-dependent due to the reliance on String.format. Be aware of potential formatting differences based on the user's locale settings when using this method.

The above is the detailed content of How Can I Precisely Format Floating-Point Numbers in Java While Avoiding Unnecessary Trailing Zeros?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template