C/C++整数除法以及保留小数位的问题 | 设置输出宽度 | 设置左对齐

原文链接,非常感谢原作

#include <iostream> 
#include <iomanip>
using namespace std;
 
 
int main()
{
	int a,b;
	cin>>a>>b;
	int C = a / b;
	cout<<C<<endl;
	double e = a, f = b;
	double D = e / f;
	cout<<setprecision(2)<<fixed<<D<<endl;
	return 0;
}

代码分析:

整数除法用 “/”的话得到的是一个整数(得到小数的话自动去掉小数位只保留整数位)

解决方法:

先将两个数转化为double类型,再进行“/”除法
保留小数位数,则用cout<<setprecision(2);其中2表示保留2位小数
seprecision函数的使用要搭配**<iomanip>**头文件

setw(int);					//设置显示宽度
setiosflags(ios::left)  	//设置左对齐
setiosflags(ios::right)  	//设置右对齐
  //设置左对齐输出,空格在后
cout<<setiosflags(ios::left)  
<<setw(5)<<10<<endl
<<setw(5)<<100<<endl
<<setw(5)<<1000<<endl;    

 //设置右对齐输出,空格在前
cout<<setiosflags(ios::right)
<<setw(5)<<10<<endl
<<setw(5)<<100<<endl
<<setw(5)<<1000<<endl;    

猜你喜欢

转载自blog.csdn.net/sinat_28442665/article/details/84623352