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