1. 程式人生 > >C/C++整數除法以及保留小數位的問題 | 設定輸出寬度 | 設定左對齊

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;