要在Java中使用浮点填充符格式化消息,我们使用MessageFormat类。MessageFormat类为我们提供了一种生成不依赖于语言的级联消息的方法。MessageFormat类扩展了Serializable和Cloneable接口。
声明-java.text.MessageFormat类的声明如下-
public class MessageFormat extends Format
MessageFormat.format(pattern,params)方法使用匹配参数编号和数组索引的params数组中的对象格式化消息并填充缺少的部分。
format方法有两个参数,一个模式和一个参数数组。该模式在{}花括号中包含占位符,这些花括号具有一个索引,该索引指示在数组中存储参数值的位置,一个数字参数指示填充符是一个数字,而一个#。#参数指示该数字是浮点数。它们如下-
MessageFormat.format("{0,number,#.#} Hellos and {1,number,#.#} Worlds", 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 message = MessageFormat.format("{0,number,#.#} Hellos and {1,number,#.#} Worlds", obj); System.out.println(message); } }
输出结果
23.2 Hellos and 56.9 Worlds
请注意,浮点数已四舍五入为一位有效数字,即23.21已四舍五入为23.2,56.86已四舍五入为56.9-
Object[] obj = new Object[] { new Float(23.21), new Float(56.86) };