本示例说明如何使用java.text.MessageFormatclass格式化包含数字的消息。
package org.nhooo.example.text;
import java.text.MessageFormat;
import java.util.Locale;
public class MessageFormatNumber {
public static void main(String[] args) {
// 设置MessageFormat的语言环境。
Locale.setDefault(Locale.US);
// 对数字使用默认格式。
String message = MessageFormat.format("This is a {0} and {1} numbers",
10, 75);
System.out.println(message);
// 该行具有与上述相同的格式。
message = MessageFormat.format("This is a {0,number} and {1,number} " +
"numbers", 10, 75);
System.out.println(message);
// 格式化带有2个十进制数字的数字。
message = MessageFormat.format("This is a formatted {0, number,#.##} " +
"and {1, number,#.##} numbers", 25.7575, 75.2525);
System.out.println(message);
// 将数字格式设置为货币。
message = MessageFormat.format("This is a formatted currency " +
"{0,number,currency} and {1,number,currency} numbers",
25.7575, 25.7575);
System.out.println(message);
// 以百分比格式设置数字。
message = MessageFormat.format("This is a formatted percentage " +
"{0,number,percent} and {1,number,percent} numbers", 0.10, 0.75);
System.out.println(message);
}
}该程序的结果为以下几行:
This is a 10 and 75 numbers This is a 10 and 75 numbers This is a formatted 25.76 and 75.25 numbers This is a formatted currency $10.00 and $75.00 numbers This is a formatted percentage 10% and 75% numbers