使用Java MessageFormat格式化货币

要使用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