1. 程式人生 > >格式化固定長度字串,格式化字串裡顯示百分號

格式化固定長度字串,格式化字串裡顯示百分號

一. 在程式設計過程中經常需要格式對齊,這就需要把字串格式成固定長度:

    1: C++提供了setiosflags()來設定輸出格式,setw(int)設定輸出寬度:

        cout<<setiosflags(ios::left) 
              <<setw(10)<<"欄位1" 
              <<setw(10)<<"欄位2" 
              <<setw(10)<<"欄位3"<<endl;

        cout<<setiosflags(ios::left) 
              <<setw(10)<<"value1" 
              <<setw(10)<<"value2" 
              <<setw(10)<<"value3"<<endl;

    2.利用格式化也可以實現:

     printf("%-10s%-10s%-10s","value1","value2","value3"); 

      說明: %s: 輸出字串

              %10s:  輸出固定長度為10的字串 預設右對齊 

              %-10s:  輸出固定長度10的字串 左對齊;

      CString::Format()的格式化方式跟printf一樣.

二. 格式化固定小數位

       printf("%.3f%.4f%.5f","value1","value2","value3"); 

        說明: 在位數前面加點,表示需要格式化多少位小數點數;上面範例分別表示取3位,4位,5位小數點值.

三. 格式化字串裡顯百分號

      在進行資料處理時很多時候會涉及到百分比數,如: 99.86%;要在格式化字串時把後面的一齊新增上去,"%.2f%"這樣是不行的!格式化的時候都是以%為字首,這樣就會有兩個字首,而後續的引數只有一個,就會造成格式化錯誤!正確的語法應該是: "%.2f%%",兩個百分比字首代表讀取百分號!