cout输出浮点数的精度与printf输出的区别
时间: 2024-02-12 09:05:07 浏览: 195
解析C++ 浮点数的格式化显示
在 C++ 中,使用 `cout` 输出浮点数时,可以通过设置输出流的精度控制小数部分的位数。例如,以下代码将输出 3.14159:
```c++
#include <iostream>
#include <iomanip>
int main() {
double pi = 3.14159265358979323846;
std::cout << std::setprecision(6) << pi << std::endl;
return 0;
}
```
输出:
```
3.14159
```
在 C 语言中,使用 `printf` 输出浮点数时,可以使用格式控制符 `%f` 设定小数点后的位数。例如,以下代码将输出 3.141590:
```c
#include <stdio.h>
int main() {
double pi = 3.14159265358979323846;
printf("%.6f\n", pi);
return 0;
}
```
输出:
```
3.141590
```
需要注意的是,`cout` 和 `printf` 输出浮点数时的精度控制方式略有不同,但都可以达到相同的效果。`cout` 通过设置输出流的精度控制小数部分的位数,而 `printf` 通过格式控制符 `%f` 设定小数点后的位数。此外,`cout` 还可以使用 `std::fixed` 和 `std::scientific` 控制输出的浮点数形式。
阅读全文