gpt4 book ai didi

java - 如何获得唯一确定给定 double 的 "shortest"BigDecimal

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:33:11 24 4
gpt4 key购买 nike

基本上,我很好奇如何在不经历创建字符串的过程的情况下获取 new BigDecimal(Double.toString(d))

documentation for Double.toString非常复杂(也很有趣)。据我了解,该方法实际上并不返回给定 double 实际表示的数字的字符串表示形式,而是返回唯一标识给定 double 的(附近)最短实数的字符串表示形式.

(我实际上并不需要这个。如果我这样做了,我可能无论如何都会通过一个字符串。我只是对这个找到这个“短”实数的算法感到好奇唯一确定给定的 double 值。)

(这是关于 this question 的后续问题。)

最佳答案

参见: How to print floating-point numbers accuratelyHow to read floating point numbers accurately

实现:herehere

有一个new publication关于这个主题,那些寻求提供解决方案的人可能会感兴趣。如果您愿意在 99.8% 的情况下选择最短的字符串,并且在其余情况下选择准确但不是最短的字符串,则它 (Grisu2) 可以在没有 bignums 的情况下工作。

关于java - 如何获得唯一确定给定 double 的 "shortest"BigDecimal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6063704/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com