c++ - 双精度与浮点精度问题
问题描述
#include <iostream>
int main()
{
double a = 2 , b = 3;
double answer = a/b;
std::cout << answer;
std::cout << std::to_string(answer);
}
浮点数或双倍我得到:0.666667;
我期望双精度更高;我如何得到更像:0.666666666666667
编辑:而且我不需要使用 to_string; 来丢失精度;
解决方案
我期望双精度更高
浮点类型的精度与文本表示中十进制数的精度是不同的概念。
您没有指定所需的精度,因此使用了默认值。碰巧默认值不是您任意期望的。例如,您可以像这样指定精度:
std::cout.precision(15);
推荐阅读
- python - 使用 Selenium Python 查找元素
- angular - angular 6 post **array data** using `httpClient`方法不适用于asp.net核心API
- spring-boot - 在 Spring Boot 应用程序中忽略状态为 302 的 HTTP 响应的 Set-cookie
- angular - 返回时路由返回空白页面,但在Angular 7应用程序中的页面刷新时加载
- c - 从输入 [Core Dump (Segmentation fault)] 在数组中插入元素
- linux - 在 Linux 中等待多线程事件的最佳实践(如 WaitForMultipleObjects)
- c++ - 如何使用 IOServiceOpenAsFileDescriptor?
- mysql - 在 MySQL 中获取每月的总费用
- types - 如何在 Perl 6 中为参数类型创建自定义元模型?
- spring - Springboot 和 maven:如何使用两个配置文件自动启动单元测试