【发布时间】:2011-05-26 11:45:42
【问题描述】:
我想在不丢失或添加任何单精度数字的情况下将浮点值存储到字符串中。
例如,如果我的浮点值为 23.345466467 ,我希望我的字符串具有 str = "23.345466467" 精确数字。
我尝试使用带有 %f 的 CString 格式函数。它只给出前6个精度。 或者如果我使用 %10 ,如果我的浮点值的精度小于 10,它会增加一些垃圾精度。我想在我的字符串中获取精确的浮点值。如何做到这一点?
【问题讨论】:
-
这取决于您的浮点值 23.345466467 是否完全可表示(可能不是)
-
@Mitch:我也在想同样的事情。检查它是否是最简单的方法是什么?
-
@Mitch Wheat:
float值始终可以表示为字符串,只要您转换为的基数可以被 2 整除。当然,23.345466467不能用float表示第一名。 -
你的要求简直不可能把1/3完全表示成一个十进制字符串。
标签: c++ c type-conversion