首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在cin/cout和scanf/printf期间在C++中保存浮点数和双精度

在cin/cout和scanf/printf期间在C++中保存浮点数和双精度
EN

Stack Overflow用户
提问于 2016-06-01 01:26:21
回答 3查看 1.9K关注 0票数 1

我想从standart输入中读取浮点数和双精度数,并保存其精度(浮点数后的完全相同的数字),并能够按原样输出(cout/printf)。做这件事最方便(也是最简单)的方法是什么?谢谢!

EN

回答 3

Stack Overflow用户

发布于 2016-06-01 01:30:03

代码语言:javascript
运行
复制
float f;
cin >> f;
cout << f;
票数 0
EN

Stack Overflow用户

发布于 2017-12-15 21:20:53

使用setprecision

以下是解决方案

代码语言:javascript
运行
复制
cout<<setprecision(the precision you want to set here)<<variablename;

例如:如果您想将变量var的输出精度设置为5,请按如下方式使用:

代码语言:javascript
运行
复制
cout<<setprecision(5)<<var;

setprecision是一个操纵器。了解有关manipulators here的更多信息。

它设置要使用的小数精度

在输出操作中格式化浮点值。其行为类似于在作为操纵器插入/提取成员精度的流上使用n作为参数调用(可以在输入流或输出流上插入/提取成员精度)。

这是一个操纵器,在标头<iomanip>中声明

票数 0
EN

Stack Overflow用户

发布于 2017-12-19 01:07:49

由于输入的精度未知,因此最简单的方法是将它们作为字符串读取,而不是双精度/浮点数。

如果您需要浮点值,则需要将简单的字符串转换为双精度。

任何其他方法都可能会失败,因为您依赖于标准库完成的从字符串到浮点数的不完美转换。

后者无法区分0.4和0.40。

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

https://stackoverflow.com/questions/37552067

复制
相关文章

相似问题

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