使用MessageFormat格式化数字,有一个很隐蔽的技巧点:
public static void main(String[] args) { MessageFormat mf = new MessageFormat("{0,number,#.##},{0,number,#.#}"); Object[] objs = {new Double(3.1415)}; String result = mf.format(objs); // result now equals "3.14,3.1" System.out.println(result); }
程序输出:3.14,3.1
上述代码修改一处:
//#.##前后加2个空格 MessageFormat mf = new MessageFormat("{0,number, #.## },{0,number,#.#}");
程序输出: 3.14 ,3.1
"#.##"字符串的格式,会影响格式化的结果。