標籤:
代碼=======================================================
float floatType=1000.00f;
double doubleTyep=11111111111111111.00d;
Date dateType = new Date();
String floatStr = String.format("%a, %e, %f, %g",floatType,floatType,floatType,floatType);
String doubleStr = String.format("%a, %e, %f, %g",doubleTyep,doubleTyep,doubleTyep,doubleTyep);
String dataStr = String.format("%1$tm-%1$te-%1$tY",dateType);
System.out.println(floatStr);
System.out.println(doubleStr);
System.out.println(dataStr);
===============================================================
輸出結果:
0x1.f4p9, 1.000000e+03, 1000.000000, 1000.00
0x1.3bcbf936b38e4p53, 1.111111e+16, 11111111111111112.000000, 1.11111e+16
06-15-2009
其中float類型與double類型的資料,對於String.format()方法來說,
全表示為浮點數,
可使用的格式化參數如:
String.format("%a, %e, %f, %g",floatType,floatType,floatType,floatType);
其中
%a 表示用十六進位表示
%e 表示用科學記號標記法表示
%f 表示用普通的10進位方式表示
%g 表示根據實際的類型的值的大小,或採用%e的方式,或採用%f的方式
對於日期類型的:
如:
String dataStr = String.format("%1$tm-%1$te-%1$tY",dateType);
其中1$表示如果參數中有多個dateType那麼取哪個dateType中的值,
t表示日期或時間格式,
m表示月,e表示日,Y表示年.
java String.format()的問題