在cin / cout和scanf / printf期间在C ++中保存float和double precision

时间:2016-05-31 17:26:21

标签: printf scanf cout cin floating-accuracy

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

3 个答案:

答案 0 :(得分:0)

float f;
cin >> f;
cout << f;

答案 1 :(得分:0)

使用*/2

这是解决方案

setprecision

例如。如果要将变量cout<<setprecision(the precision you want to set here)<<variablename; 的输出精度设置为5,请使用它:

var

cout<<setprecision(5)<<var; 是一个操纵者。详细了解操纵器here

设置用于

的小数精度

格式化输出操作的浮点值。  表现为好像是使用n作为参数调用成员精度  它作为操纵器插入/提取的流(它可以是  在输入流或输出流上插入/提取。)

这是一个操纵者,在标题setprecision

中声明

答案 2 :(得分:0)

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

如果需要浮点值,则需要一个简单的字符串来进行双转换。

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

后者无法区分0.4和0.40。