c++ - 如何提高 C++ 中双精度的精度?
问题描述
我想提高双精度。看起来 double 和 float 的精度是一样的。(对于我未来的 C++ 计划,我还需要更高的精度。)
我不知道该怎么做。
#include <iostream>
using namespace std;
int main()
{
double fraction1 = 0.123467890123456789;
float fraction2 = 0.123467890123456789;
cout << fraction1 << endl;
cout << fraction2 << endl;
return 0;
}
这产生:
0.123468
0.123468
我本来期望达到 10 位或更多位的精度。
解决方案
不,您正在观察 a 的默认输出精度ostream
,而不是 a 的精度double
。
用于std::setprecision
获得所需的输出。
推荐阅读
- scrapy - 在 Scrapy 中拥有“设置配置文件”的最简单方法是什么?
- django - 如何过滤 unicode 文本字段 django
- google-sheets - Google 表格 - 使用基于多列的 OR 条件进行条件格式化
- javascript - HTML + Javascript 按钮再次单击以撤消
- python - 尝试设置新的最大值时出错
- python - Django 2.1.7 如何在包视图上使用装饰器
- java - 具有 MySQL 连接和 oracle 连接的 Spring Boot 应用程序?(两个数据库)
- python - 无法读取镶木地板文件
- applescript - Automator 添加不需要的换行符
- java - 在验证 DTO 中的字段时,如何避免重复 if-else?