今天看了在军训时看 core java 时提出的疑问 主要解决了以下问题
1.在P56的格式化输出
先看例子.
public class wj
{
public static void main (String [] args)
{
double x = 10000.0/3.0;
System.out.printf("%8.2f",x);
}
}
输出结果是3333.33
在这个里面 "2" 是明白的 就是说明小数点后面只保留两位嘛 但是不懂那个"8" 书上说的是8个字符的宽度,经过实际操作 终于懂了.比如我把8改成16的话,要先数数结果有几个字吧 从上面看是有6个三和一个小数点 加起来就是7个字符 但是我们已经规定了16个字符的宽度 那怎么办呢 这时系统就在在3333.33前面补空格 在这里自然就是补9个空格. 但是如果把8改为4,好像如果只给4个字符的宽度 那不会丢失精度吗 但是java中不会出现这个问题 系统还是会打印出3333.33 只不过前面没有空格了嘛 感觉这个功能蛮废的说 我直接打印几个空格就好了啊 还要我自己算完再数一遍