cout 打印不准确的结果,printf 打印准确的结果
cout prints inaccurate result and printf prints accurate result
以下代码C++:
double x = 500000.6;
printf("%fn", x);
cout << x << endl;
打印以下内容:
500000.600000
500001
为什么cout
打印的值不正确 (500000.6(?
将以下行作为代码的开头可使cout
打印正确的结果:
cout.precision(7);
但是,将精度设置为 6(无论如何都是默认值(不会打印预期的结果。
为什么会这样?我小数点后只有1 位数字,而不是7 位数字!
默认情况下,精度是有效位数的总数。它不是小数点后的位数。500000.6
有七个有效数字,500001
只有六个。
试试这个
cout << fixed << setprecision(1) << x << endl;
用于固定格式时,精度是小数点后的位数。
相关文章:
- C++使用 g++ 时,没有结果,没有打印
- oStream 不打印添加两个 valarray 的结果(使用运算符重载)
- cout 打印不准确的结果,printf 打印准确的结果
- 读取一组用户输入,按升序排序,然后打印结果
- 无法打印正确的结果
- 为什么C++打印出奇怪的结果的最小值?
- 对象指针打印结果以相反的顺序进行
- 硬编码字符串与强制转换为 PUCHAR 并打印到控制台时从控制台读取的字符串的结果不同
- 尝试以随机字符(长读取)打印字符串返回结果
- GetTempPathA 函数在打印结果后崩溃
- 我定义的反向函数不是打印结果
- 声明双重给它一个值0,但打印结果意外变化
- 打印整数指针元素时的结果不同
- 如何打印返回值的结果?我是一个初学者学习C++
- COUT没有打印出预期的结果
- 如何在VS 2017 C++Win32应用程序中打印出gethostname结果
- 我的程序打印出与预期不同的结果
- 尝试将二进制数组转换为十六进制C++然后打印结果
- 在WINDBG中调用C 方法实例并打印结果
- 井字游戏-如何没有无效输入后的结果打印