Java中printf的双精度格式问题


问题内容

%s是一个字符串printf,而%d是一个小数,我想…但是放入时

writer.printf("%d dollars is the balance of %s\r\n", bal, nm);

..引发异常,告诉我%d!= lang.double。有想法吗?


问题答案:

%d是供整数使用的%f,它同时适用于floatdouble类型:

double d = 1.2;
float f = 1.2f;
System.out.printf("%f %f",d,f); // prints 1.200000 1.200000