2009年10月11日

来源:互联网 发布:网络歌手冷漠的老婆 编辑:程序博客网 时间:2024/04/25 22:34

今天看了在军训时看 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 只不过前面没有空格了嘛  感觉这个功能蛮废的说 我直接打印几个空格就好了啊 还要我自己算完再数一遍

原创粉丝点击