{0,号码}(1){0,号码,整数}(2){0,数量,货币}(3){0,数字,百分比}(4){0,数字,0。# # # E0}(5)
除了基本格式外,本地化字符串中的占位符还可以支持一系列灵活的格式选项{0}
等等,插入作为参数传递的任何对象的字符串表示形式。
本页提供了受支持的消息格式的概述。的MessageFormat
Javadoc提供更多的细节。
如果将数字作为参数传递,则通常不打印本地化格式。
要添加特定于区域设置的格式,请使用数量
格式模式:
{0,号码}(1){0,号码,整数}(2){0,数量,货币}(3){0,数字,百分比}(4){0,数字,0。# # # E0}(5)
1 | 例如,显示一个本地化的数字1234 .56点 (en_US),1.234, 56 (de_DE),或1的234.5 (de_CH) |
2 | 整数四舍五入到最接近的整数。1235年 (en_US)或1.235 (de_DE) |
3. | 显示为货币 |
4 | 百分比,如。0.12 可以格式化为12% |
5 | 中的第三个参数可以定义任意模式DecimalFormat Javadoc.这个例子定义了科学符号,所以1234 将显示为1.234 e3 . |
当术语的转换依赖于数字的值时,此模式非常有用。例子:
{0,choice,0#No projects were|1#A project was|2<{0,number,integer} projects were} found。
在本例中,输出取决于第一个参数(index)的值0
):
如果是零,没有发现任何项目是印刷的。
如果是一个,找到了一个项目是印刷的。
如果是两个或更多,N
项目被发现是印刷的,N
是参数值的局部表示。
这说明模式可以嵌套,也可以本地化数量
嵌套在选择
模式。
可以使用日期和时间模式来显示日期
适合于用户地区的实例。
它们要么使用预定义的日期和时间样式(短
,媒介
,长
,完整的
的自定义格式SimpleDateFormat
类。
{0,日期}(1){0,date,short} {0,date,medium} {0,date,long} {0,date,full} {0,date,yyyy-mm-dd}(2){0,时间}(3){0,time,short} {0,time,medium} {0,time,long} {0,time,full} {0,time,HH:mm:ss}(4)
1 | 默认(中)日期格式 |
2 | 自定义日期格式,在这种情况下,日期如2017-02-27 |
3. | 默认(中等)时间格式 |
4 | 自定义时间格式,在本例中是像17:45:32这样的时间 |