c ++格式化float,具有自动精度

时间:2015-07-06 23:55:23

标签: c++ floating-point

是否有一种标准方法可以在C ++中以十进制格式化浮点数(或双精度数),其精度足以将其解析回相同的位?

也就是说,我希望1.F "1.0"2.002f"2.002"

对于十进制不精确的情况,另一种格式是可接受的(科学甚至是十六进制浮点数)。这种情况是否存在?

我所能找到的只是std::fixedstd::setprecision的引用 such as this link。这些精度是固定的。

感谢。

1 个答案:

答案 0 :(得分:2)

我必须做很多事情,即你要做的事情。我的解决方案是使用这样的东西:

char buf[32];
sprintf(buf, "%.15f", v);
TrimTrailingZeros(buf);