首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >即使在设置精度之后,"Double“打印的有效数字也不会超过6位

即使在设置精度之后,"Double“打印的有效数字也不会超过6位
EN

Stack Overflow用户
提问于 2021-07-08 07:13:10
回答 1查看 72关注 0票数 0

我在自学C++,由于某种原因,"double“即使在std::setprecision之后也不会打印超过6个有效数字。我还需要做些别的事情吗?最新版本的代码块,如果有帮助的话。这是所有的代码:

代码语言:javascript
复制
#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
    std::setprecision(9);
    double A = 654321.987;
    cout << A << endl;
    return 0;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-08 07:16:53

您需要将std::setprecision(9)的结果提供给std::cout。否则,它将无法知道它应用于哪个输出流(因此它将不会应用于任何内容)。

代码语言:javascript
复制
std::cout << std::setprecision(9) << A << std::endl;

或者,如果你愿意,你可以单独做:

代码语言:javascript
复制
std::cout << std::setprecision(9);
std::cout << A << std::endl;
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68293886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档