[英]c++ formatting float with automatic precision
是否有一种标准方法可以在 C++ 中以十进制格式格式化浮点数(或双精度数),并且具有足够的精度以将其解析回相同的位?
也就是说,我希望1.F
为"1.0"
, 2.002f
为"2.002"
2.002f
"2.002"
。
对于十进制不精确的情况,另一种格式是可以接受的(科学甚至十六进制浮点数)。 这样的案例存在吗?
我能找到的只是对std::fixed
和std::setprecision
引用,例如这个链接。 这些的精度是固定的。
谢谢。
我必须做很多事情,即你正在尝试做的事情。 我的解决方案是使用这样的东西:
char buf[32];
sprintf(buf, "%.15f", v);
TrimTrailingZeros(buf);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.