c++ cout輸出不足位補0 setw、setfill


頭文件:<iomanip>

函數:setw(int n)

函數:setfill(char c)

cout<<setw(8)<<setfill('0')<<123<<endl;

輸出:00000123

 

C語言

printf("%08d \n",123);

輸出:00000123

 

 

在C++中setw(int n)用來控制輸出間隔
·一般setw(int n)默認輸出空格間隔,輸出n-1空格間隔
例如:
cout << ‘’ << setw(4) << ‘/’ << endl;

 

 

 

注意事項:
·設置域寬的時候應該填入整數,設置填充字符的時候應該填入字符。
·對一個要輸出的內容同時設置域寬和 填充字符,但是設置好的屬性也對下一個輸出的內容有效,
例如,cout << setw(10) << ‘a’ <<‘b’<<endl;'a’會被算在那10個間隔當中,而對‘b’不起作用。也就是說,setw()函數會把set()后面的一個字符算作其中,
·setw和setfill 被稱為輸出控制符,被包含在iomanip頭文件中,使用時記得include。

 

  //左側補零

  //只針對整數可行,因為沒有浮點數左側補零這種寫法 如05.1

  int c = 12, d = 34; 

  cout << setw(3) << setfill('0') << c << " " << setw(3) << setfill('0') << d << endl;//012 034

    //右側補零

     //只針對小數可行,整數不行,因為整數無法在后面補零

  1.   float aa=0.25;
  2.   cout << setiosflags(ios::fixed) << setprecision(3) << aa << endl;//0.250

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM