Java 中 printf 的双百分比格式问题
%s
是中的字符串,而 %d 是我认为的小数点...然而,当放入时printf
writer.printf("%d dollars is the balance of %s\r\n", bal, nm);
..抛出一个异常告诉我!= lang.double。想法?%d
%s
是中的字符串,而 %d 是我认为的小数点...然而,当放入时printf
writer.printf("%d dollars is the balance of %s\r\n", bal, nm);
..抛出一个异常告诉我!= lang.double。想法?%d
%d
是用于整数而不是,它适用于两者和类型:%f
float
double
double d = 1.2;
float f = 1.2f;
System.out.printf("%f %f",d,f); // prints 1.200000 1.200000
是的,%d
表示十进制,但它表示十进制数系统,而不是小数点。
此外,作为对前一篇文章的补充,还可以控制要显示的小数点数。试试这个,
System.out.printf("%.2f %.1f",d,f); // prints 1.20 1.2
有关详细信息,请参阅 API 文档。