我的问题没有实际应用。我只是感兴趣。假设,我有一个双精度值,我想获得它的字符串表示,类似于printf
函数。如果没有 C 运行时库,我将如何做到这一点?假设我使用的是 x86 架构。
问问题
499 次
3 回答
0
您可以通过 (double % 10) 获取左侧的所有值,然后每次除以 10。他们将从右到左。
要获得点右侧的值,您必须乘以 10,然后乘以 (double % 10)。他们将从左到右。
于 2010-03-07T19:56:20.537 回答
0
如果您只想通过“足够接近”的结果来实现,请参阅我的文章http://www.exploringbinary.com/quick-and-dirty-floating-point-to-decimal-conversion/。它描述了一个使用浮点将浮点数转换为十进制数的简单程序,并解释了为什么这种方法对所有转换都不准确。(该程序不像 printf 那样进行小数舍入,但这应该很容易添加。)
于 2010-11-12T18:31:57.193 回答