30+的人學程式設計,格式化輸出
在Java中,我們可以使用System.out.print( x )這串代碼將數值 x 輸出到控制台上,這是一個簡單的輸出語句。
看一下下面這個語句:
double x = 10000.0/3.0;
System.out.print(x);
這串代碼運行後,將會列印出double類型所允許的最大值:3333.33333333333335。
但是如果我們希望顯示美元、美分等符號,
System.out.printf("Hello, %s.Next year, you will be %d",name,age);
每一個以“%”字元開始的格式說明符都用於相應的參數轉換,格式說明符尾部的轉換符將指示被格式化的數數值型別:f表示浮點數,s表示字串,d表示十進位整數。下表是所有的轉換符:
用於printf的轉換符
另外,我們還可以給出控制格式化輸出的標誌,例如:逗號標誌增加了分組的分隔符號,看下面的例子:
System.out.printf("%,.2f",10000.0/3.0);
它的輸出結果是:3,333.33。當然也可以使用多個標誌,那麼下表就列明瞭用於printf的標誌:
用於printf的標誌
上面的介紹中沒有對printf方法的日期與時間詳細說明,那麼現在我們再來看一下。
在新代碼中,應當使用java.time包的方法,不過你可能會在遺留代碼中看到Date類和相關的格式化選項。格式包括兩個字母,以t開始,以下表中轉換符的任意字母結束。例如:
System.out.printf("%tc", new Date());
輸出值:Mon Feb 09 18:05:19 PST 2015
日期和時間的轉換符
現在,已經瞭解了printf方法的所有特性,我們再畫一個格式說明符的語法圖,詳見下圖:
格式說明符語法