public class Example2_3 {
public static void main(String args[])
{
char c='A';
float f=123.45678f;
double d=123456.12345678;
long x=5678;
System.out.printf("%c%n%10.3f%n%f,%12d%n%d",c,f,d,x,x=x+2);/*输出f的结果是123.457,为什么缺少了6和8,以及d的输出结果是123456.123457,为什么缺少了6和8*/
}
}
10.3f表示小数点后取3位, 123.45678在小数点第3位四舍五入即 123.457
只用f默认小数点后取6位, 123456.12345678在小数点第6位四舍五入即123456.123457
详细可参考http://jslixiaolin.github.io/2016/01/05/java-format-float/
如果对您有帮助,请采纳答案好吗,谢谢!
。。你写的是10.3f取三位小数
123.457和123456.123457不是少了6和8,而是保留三位小数之后,四舍五入了