%f,%e(%E),%g(%G)和%a(%A)格式符號可格式化float、Float、double和Double,其中:
%f將值格式化為十進制浮點數,小數保留6位。
%e(%E)將值格式化為科學記數法的十進制的浮點數,%E在格式化時將其中的指數符號大寫。
例如:
StringS=String.format(%f,%e,1234.56,1234.56);
那麼,字串s就是1234.560000,1.23456e+03。
格式化正數時,強制加上上正號,例如:%+f將123.45格式化為+123.45,%+E將123.45格式化為+1.2345E+2。
格式化浮點數時,將整數部分以「千」分組,例如:
Strings=String.format(整數部分以千分組:%+,f,123456789.987);
那麼,字串s就是整數部分以千分組:+123,456,789.987000。
「%.nf」可以限制小數的位數,其中的n是保留的小數位數,例如:%.3f將3.1415926格式化為3.142(保留3位小數)。
規定資料寬度的一般格式為%md ,其效果是在數字的左面增加空格;若為%-md ,其效果是在數字的右面增加空格。
例如,將數字12.34格式化為寬度為10的字串:
Strings=String.format(%10f,12.34);
那麼,字串s就是12.340000,其長度(s.length())為10,即s在12.340000左面添加了1個空格字符,對於:
Strings=String.format(%-10f,12.34);
那麼,字串s就是12.340000 ,其長度(s.length())為10,即s在12.340000右面添加了1個空格字元。
在指定寬度的同時也可以限制小數位數(%m.nf),對於:
Strings=String.format(%10.2f,12.34);
那麼,字串s就是12.34,其長度(s.length())為10,即s在12.34左面增加了5個空格字元。
我們也可以在寬度的前面增加前綴0,表示用數字0,不用空格來填滿寬度左面的富餘部分,例如:
Strings=String.format(%010f,12.34);
那麼,字串s就是012.340000,其長度(s.length())為10,即s在12.340000的左面添加了1個數字0。
注意:如果實際數字的寬度大於格式中指定的寬度,請依數字的實際寬度進行格式化。