C++ 輸入輸出格式 與 精度問題
阿新 • • 發佈:2019-02-14
使用printf():
int myCost_1 = 10;
int myCost_2 = 234;
printf("%.3f\n", myCost_1 / 100.0);//商 保留三位小數
printf("%04d %02d\n", myCost_2,myCost_2);//分別輸出4位和兩位
//輸出結果:0.100
//輸出結果: 0234 234 //數本身有3位,則會3位都輸出
使用cout:
#include<iomanip>//標頭檔案
float c = 3.234;
cout<<setiosflags(ios::fixed)<<setprecision(2)<<c<<"\n"
//輸出結果3.23
setiosflags(ios::fixed):設定浮點數以固定的小數位數顯示
setprecision(2):是設定浮點數的精度為2位。
二、取整函式:
#include<cmath>
ceil(x) 返回不小於x的最小整數值(然後轉換為double型)
floor(x) 返回不大於x的最大整數值
round(x) 返回x的四捨五入整數值
三、輸入格式化
int year,month,day;
//**讀取特定位數**:前四位賦值給year,後四位兩兩賦值給month和day
scanf("%4d%2d%2d" , &year, &month, &day);
//inout: 19951128
//year=1995, month=11, day=28