1. 程式人生 > >Android筆記:String.format()的詳細用法

Android筆記:String.format()的詳細用法

一直對String.format不瞭解,而且也記不住那麼多,記錄一下以後查起來方便 1 佔位符 1.1 單個佔位符

String s = String.format("Hello %s,Welcome to my blog!", "jerry");
System.out.println(s);//Hello jerry,Welcome to my blog!12

1.2 多個佔位符 1.2.1 按順序

String s = String.format("Hello %s%s%s", "jerry-", "li", ",welcome!");1

1.2.2 按索引

String s = String.
format("Hello %2$s%3$s%1$s", "li-", "heng-", "jie");1

2 對整數格式化

int n2 = 9999999;
System.out.printf("%+(,d %n", n2);
引數 含義
- 在最小寬度內左對齊,不可以與0標識一起使用
0 若內容長度不足最小寬度
+ 結果總包含一個+或-號。
空格 正數前加空格
, 只用與十進位制
( 若結果為負數

3 對浮點數格式化

double n = 3.1415926;
String s = String.format("%f %n", num);
引數 含義
- 在最小寬度內左對齊
0 若內容長度不足最小寬度
+ 結果總包含一個+或-號。
空格 正數前加空格
, 只用與十進位制
( 若結果為負數

4 對日期、時間格式化

對日期格式化的時候不能像對數字那樣多種格式對應一個數字, 分為日期格式化及時間格式化兩部分,如果希望格式化之後的格式是: 2017-01-13 12:05:30,需要先格式化日期,然後再格式化時間。 如下:

Date date = new Date();
String dateFormat = String.format("%tF %tT ", date, date);
System.out.println
(dateFormat);

日期格式化:

引數 含義
c 星期六 十月 27 14:21:20 CST 2007
F 2007-10-27
D 10/27/07
r 02:25:51 下午
T 14:28:16
R 14:28
b 月份簡稱
B 月份全稱
a 星期簡稱
A 星期全稱
C 年前兩位(不足兩位補零)
y 年後兩位(不足兩位補零)
m 月份(不足兩位補零)
d 日期(不足兩位補零)
e 日期(不足兩位不補零

時間格式化:

引數 含義
H 24小時制的小時(不足兩位補零)
k 24小時制的小時(不足兩位不補零)
I 12小時制的小時(不足兩位補零)
i 12小時制的小時(不足兩位不補零)
M 分鐘(不足兩位補零)
S 秒(不足兩位補零)
L 毫秒(不足三位補零)
N 毫秒(不足9位補零)
p 小寫字母的上午或下午標記,如中文為“下午”,英文為pm
z 相對於GMT的時區偏移量,如+0800
Z 時區縮寫,如CST
s 自1970-1-1 00:00:00起經過的秒數
Q 自1970-1-1 00:00:00起經過的豪秒