控制小数输出精度(cout.precesion、cout.flags、cout.fixed、cout.unstf)
程序:
#include<iostream>
#include<windows.h>
using namespace std;
int main() {
double num = 4.123456789;
// precision最后一位四舍五入
// 默认精度从实数部分算起
cout.precision(8); // 精度8位
cout << num << endl; // 4.1234568
// 精度从小数部分算起
cout.flags(cout.fixed); // 控制精度默认从小数部分算起
cout.precision(8); // 精度8位
cout << num << endl; // 4.12345679
// 精度恢复成从实数部分算起
cout.unsetf(cout.fixed);
cout.precision(8); // 精度8位
cout << num << endl; // 4.1234568
system("pause");
return 0;
}
结果输出:
4.1234568
4.12345679
4.1234568
请按任意键继续. . .
注意点:
1、double精度默认为6位()
2、精度默认从实数开始
3、精度最后一位四舍五入
控制输出字符宽度,对齐方式(setw、cout.width、left、right)
程序:
#include<iostream>
#include<string>
#include<windows.h>
#include<iomanip> // stew函数头文件
using namespace std;
#define WIDTH 8
int main() {
string str = "1234";
// 1、setw只对后面的输出限定宽度,left左对齐,right右对齐
cout << setw(WIDTH) << right << str << endl;
// 2、使用cout的width成员函数限定宽度
cout.width(WIDTH);
cout << right << str << endl;
cout << right << str << endl; // 说明cout.width针对输出只作用一次,如果想跟上面达到同样效果还需要再加cout.width(WIDTH);
system("pause");
return 0;
}
结果:
1234
1234
1234
请按任意键继续. . .
1、setw函数需要包含头文件iomanip
2、setw只针对紧跟着的输出有效
3、cout.width成员函数针对输出只作用一次
4、left左对齐,right右对齐
.
未完待续!