android xml字串通配

來源:互聯網
上載者:User

標籤:

1.基本使用方法
xml中定義如下字串:
<string name="buff">%1$d --- %2$s</string>
代碼中解析:
String buf = getString(R.string.buff);
buf = String.format(buf, 222, "aa");

說明:%n表示format傳入的第n個參數,索引從0開始,如:%1表示第一個,%2表示第2個.
%2可以在%1前面,如下定義也是可以的:
<string name="buff">%2$s --- %1$d</string>

2.屬性值
%n$[m]s:代表輸出的是字串,n代表是第幾個參數,設定m的值可以在輸出之前放置空格.
%n$[m]d:代表輸出的是整數,n代表是第幾個參數,m 的值表示最小佔用多個字元位,不足時填充空格,也可以設為 0m,在輸出之前放置 m 個 0.
%n$[m.k]f:代表輸出的是浮點數,n代表是第幾個參數,m 的值表示整個浮點數最少佔用多少個字元位,不足時前面填充空格, k 表示小數最多佔用多少位,
如設定為8.2時,對數字5.02365894, 輸出格式為 5.02,數字總共8個字元,前面有4個字元

3.異常
對於指定的屬性格式,必須填入對應的類型,否則會拋出IllegalFormatConversionException異常.

4.對%2$s等等字元最好手動輸入,否則可能看上去正確的語句,會報下面的錯誤
error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false" attribute?

android xml字串通配

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.