java.util.logging.Logger类提供了使用这种语法的能力:
int i=0;
log.log(Level.INFO,"int i = {0}", i);
这将打印出“int i = 0”。不幸的是,当我有一个更大的值,比如9093时,它将打印出“int i = 9,023”,用逗号分隔每个3位数。
问题是如何摆脱使用逗号?最好改变{}的内部。试过{0:d}和{0:%d}。两者都没有帮助。甚至可以像这样控制参数吗?或者我应该将我的int转换为字符串吗?
答案 0 :(得分:4)
似乎第二个参数是MessageFormat
,它支持“子格式”。尝试
log.log(Level.INFO, "int i = {0,number,#}", 1234567);
这为我删除了分组字符。
请参阅http://docs.oracle.com/javase/7/docs/api/java/text/MessageFormat.html和http://docs.oracle.com/javase/7/docs/api/java/text/DecimalFormat.html(数字子格式被解释为DecimalFormat
)。