首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >此编码中双精度仅为6位

此编码中双精度仅为6位
EN

Stack Overflow用户
提问于 2019-09-30 02:02:00
回答 1查看 71关注 0票数 1
代码语言:javascript
运行
复制
  double a_0_d = 2 * sqrt(3);
  double b_0_d = 3;
  double ak_d = 0, bk_d = 0;
  while ((a_0_d-b_0_d) != 0) {
      ak_d = a_0_d;
      bk_d = b_0_d;
      a_0_d = (2 * ak_d * bk_d) / (ak_d + bk_d);
      b_0_d = sqrt(a_0_d * bk_d);
      //cout << a_0_d << "     " << b_0_d << endl;
  }
  pi_double = a_0_d;
  cout << "The pi_double value at double precision is  = " << pi_double << endl;

输出: 3.14159

我以为double的精度是15位,有没有可能把输出转换成float数据类型?

EN

回答 1

Stack Overflow用户

发布于 2019-09-30 02:06:24

您应该使用std::setprecision

代码语言:javascript
运行
复制
#include <iomanip>

cout << "The pi_double value at double precision is  = " << std::setprecision(15) << pi_double << endl;

godbolt上直播

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58157842

复制
相关文章

相似问题

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