消息格式化

Wu Jun 2020-01-02 14:43:49
Categories: > > Tags:

MessageFormat 格式化类似 printf,支持 Locale,可格式化数字和日期

1 格式化数字和日期

1.1 模式化字符串与占位符

占位符索引后面可跟一个类型和一个风格

1)类型
{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}