天天看點

c++中關于fixed setprecision(0) 的用法作用

c++中關于fixed setprecision(0) 的用法作用

 遇到一個問題 就是學号的輸出

如果學号的數字超過六位數 就會轉化成一個别的數字  這是因c++預設的流輸出數值有效位是6

#include <iostream>

#include<iomanip>

using

namespace

std;

int

main()

{

double

xuehao;//學号 數字較大 是以用double儲存

cin >> xuehao;

char

sex;   //性别 char

cin >> sex;

int

score1, score2, score3, score4;

cin >> score1 >> score2 >> score3 >> score4;

double

ave;

ave = (score1 + score2 + score3 + score4) / 4.0;

cout << fixed << setpreci

sion(0) << xuehao <<

" ";//隻使用 fixed的話 會顯示全部的學号 但是會自動保留六位小數 加上setprecision(0) 控制小數點後位數為0點 是以會顯示全部的學号 

cout << (ave > 85 ?

"y"

:

"n"

) << endl;

return

0;

}