C/C++整數除法以及保留小數位的問題 | 設定輸出寬度 | 設定左對齊
阿新 • • 發佈:2018-11-30
#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;