要使用Java中的货币填充符格式化消息,我们使用MessageFormat类。MessageFormat类为我们提供了一种生成不依赖于语言的级联消息的方法。MessageFormat类扩展了Serializable和Cloneable接口。
声明-java.text.MessageFormat类的声明如下-
public class MessageFormat extends Format
MessageFormat.format(pattern,params)方法使用匹配参数编号和数组索引的params数组中的对象格式化消息并填充缺少的部分。
format方法有两个参数,一个模式和一个参数数组。该模式在{}花括号中包含占位符,这些花括号具有一个索引,该索引指示数组中存储参数值的位置,一个数字参数指示填充符是一个数字,一个货币参数指示该数字是一个货币代表钱。它们如下-
MessageFormat.format("{0,number,currency} loss and {1,number,currency} profit", obj);
让我们看一个使用货币填充符格式化消息的程序-
import java.text.MessageFormat; public class Example { public static void main(String[] args) throws Exception { Object[] obj = new Object[] { new Float(23.21), new Float(56.86) }; String str = MessageFormat.format("{0,number,currency} loss and {1,number,currency} profit", obj); System.out.println(str); } }
输出结果
$23.21 loss and $56.86 profit
占位符中的currency参数添加了一个额外的美元符号来表示货币-
String str = MessageFormat.format("{0,number,currency} loss and {1,number,currency} profit", obj);
它将给出后续输出-
$23.21 loss and $56.86 profit