本示例说明如何使用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