System.out.printf("%,(.2f",10000.0/3.0);
输出
3,333.33
这里的 ,(. 是怎么回事 没弄懂
------解决方案--------------------
','表示组分隔符这是根据语言环境而定的,‘)’表示如果结果是一个负数的话将用()包起来,.2f代表格式化成浮点数保留小数点后2位四舍五入
------解决方案--------------------
@see java.util.Formatter
他们都是flag其中,
逗号表示,开启分组。分组的格式,按照默认或者提供的Locale里面,每组多少数字,且用什么符号。比如法国的话,格式化出来就是
3?333,33
用空格,每三位分组,小数点反倒是用逗号
左括号表示,如果是负数,用括号括起来,而不是用-号(很多会计报表会用这种格式)
(3,333.33)
------解决方案--------------------
你看下API就很清楚了,
格式字符串语法是这样的:
%[argument_index$][flags][width][.precision]conversion
这里不细说了,自己看API Formatter类
,( 这些是格式中的标志符(就是上面的 [flags] 部分);
( 表示的是负数结果将用圆括号括起来;
, 表示的是组分隔符;
. 就是[.precision]这部分;