📜  c++ cout 格式说明符,用于正确的小数点数 - C++ (1)

📅  最后修改于: 2023-12-03 14:59:44.732000             🧑  作者: Mango

C++中的cout格式说明符

在C++编程中,我们经常需要将变量的值打印到控制台上,这时候就需要用到cout语句。cout语句中可以使用一些格式说明符来指定输出的格式,特别是在需要输出浮点数时,需要注意正确的小数点数。

浮点数的格式说明符
默认格式

当使用默认的格式说明符输出浮点数时,输出的值会产生四舍五入,小数点后面保留6位。

double f = 3.1415926;
std::cout << f << std::endl;  // 3.14159
宽度控制

可以使用setw()函数来控制输出的宽度,即占用的字符数。在宽度控制的基础上,还可以使用setprecision()函数来指定小数点后面的位数。

double f = 3.1415926;
std::cout << std::setw(10) << std::setprecision(4) << f << std::endl;  // "    3.142"

上面的代码中,setw(10)表示输出的宽度为10个字符,setprecision(4)表示小数点后保留4位。需要注意的是,输出的宽度包括整数位和小数点和小数位。

科学计数法

当需要输出很大或很小的浮点数时,可以使用科学计数法。使用setiosflags()函数来启用科学计数法,并使用setprecision()函数来指定小数点后面的位数。

double f = 123456789;
std::cout << std::setiosflags(std::ios::scientific) << std::setprecision(4) << f << std::endl;  // 1.2346e+08
固定小数点

如果需要固定小数点表示,可以使用setiosflags()函数来启用固定小数点表示,并使用setprecision()函数来指定小数点后面的位数。

double f = 3.1415926;
std::cout << std::setiosflags(std::ios::fixed) << std::setprecision(4) << f << std::endl;  // 3.1416
左对齐和右对齐

使用setiosflags()函数来设置左对齐和右对齐,使用setw()函数来控制输出的宽度。

double f = 3.1415926;
std::cout << std::setiosflags(std::ios::left) << std::setw(10) << f << std::endl;   // "3.14159   "
std::cout << std::setiosflags(std::ios::right) << std::setw(10) << f << std::endl;  // "   3.14159"
总结

在C++中,可以使用一些格式说明符来指定输出的格式,特别是在需要输出浮点数时,需要注意正确的小数点数。常用的格式说明符包括宽度控制、科学计数法、固定小数点表示、左对齐和右对齐等。需要根据实际情况选择合适的格式说明符,以保证输出的结果符合预期。