RFR: 8333768: Minor doc updates to java.lang.{Float, Double} [v5]

Joe Darcy darcy at openjdk.org
Sat Jul 13 22:44:31 UTC 2024


On Wed, 19 Jun 2024 14:22:38 GMT, Raffaello Giulietti <rgiulietti at openjdk.org> wrote:

> Take the `double` closest to the exact decimal 0.1.
> 
> My understanding is that IEEE with a precision of 17 would convert it to the decimal 0.10000000000000001.
> 
> However, `Formatter` with a specifier `"%.17f"` will render this as 0.10000000000000000. That's because `Formatter`'s spec is based on this method (which produces 0.1), so cannot generate the trailing 1.
> 
> Similarly, the `double` closest to 1.2 is converted to 1.19999999999999996 by IEEE and to 1.20000000000000000 by `Formatter`, because this method produces 1.2.
> 
> In other words, neither this method nor the functionality offered by `Formatter` and friends correspond to IEEE, at least not in full.

Updated to use a conversion through BigDecimal.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/19590#discussion_r1676965169


More information about the core-libs-dev mailing list