我该怎么做
std::cout << 123456789.12
打印这个:
123456789.12
它始终打印这个:
1.23457e+008
我知道我必须玩旗帜,但我无法弄清楚正确的组合.如果我设置固定标志,则打印
123456789.120000
解决方法
您可以使用:
#include <iostream> #include <limits> using namespace std; int main() { double c = 123456789.12; cout.precision(numeric_limits<double>::digits10 + 1); cout << c << endl; return 0; }
基本上limits
package具有所有内置类型的特征.
浮点数(浮点数/双/长双精度)的特征之一是digits10
attribute.这定义了基数10中浮点数的精度.
要继续阅读,请查看另一个类似的问题:How do I print a double value with full precision using cout?
原文地址:https://www.jb51.cc/c/115888.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。