【发布时间】:2019-12-01 19:52:23
【问题描述】:
这可能是一个非常愚蠢的问题,但我已经搜索了一整天,我无法得到答案......
假设我有一个双精度浮点文字:5.21。在 Java 中调用 Double.toString( 5.21 ) 会产生字符串 "5.21"。
现在,假设我们有 Java,但没有 toString 和 valueOf,我也不能使用 String.format 或仅通过连接对其进行格式化。假设我只有二进制表示,我如何将我的数字转换为字符串?
更具体地说,Double.toString 和 dtoa 究竟是如何工作的:我如何编写自己的 toString/dtoa 函数(假设我们正在处理 IEEE 754 双精度浮点数)?
【问题讨论】:
-
这可能是重复的,但我在 StackOverflow 上的任何地方都找不到它...
-
"exactly" -- 这是一个巨大的要求。唯一的答案就是研究代码。
-
我确实研究了代码,但它最终变成了一些反编译的、半模糊的代码,我试图理解但我无法...
标签: floating-point precision tostring ieee-754