MessageFormat 格式化类似 printf,支持 Locale,可格式化数字和日期
1 格式化数字和日期
1.1 模式化字符串与占位符
占位符索引后面可跟一个类型和一个风格
1)类型
- number
风格- intger
- currency
- percent
- 数字格式模式
- time
风格- short
- …
- date
风格- yyyy-MM-dd
- …
- choice
{0,date,long},{1,number,currency}
2)格式化模式字符串
String msg = MessageFormat.format("{0,date,long},{1,number,currency}", new GregorianCalendar().getTime(), 10.0E8);
//2018年11月30日,¥1,000,000,000.00
1.2 选择格式
choice 格式化选项使消息随占位符的值变化
选择格式由序列对构成。每个序列对用#
分开下限与格式字符串,对与对之间用|分隔。也可用<
、≤
替换#
表示区间。
{1,choice,0#no houses|1#one house,2<{1} houses}