天天看点

JAVA格式化输出浮点数:空格,位数

  格式化输出有什么好处?整齐,漂亮,赏心悦目……从科学角度来说,分析问题更方便。

  以下用于输出一个视图控件的位置、大小,同时考虑了缩进。

private static void dumpViewInfo(IView view, int level)
    {
        StringBuffer sb = new StringBuffer();
        int i=0;
        while (i<level)
        {
            sb.append("    ");
            i++;
        }
        
        System.out.print(sb.toString());
        
        String name = view.getClass().getCanonicalName();
        System.out.print(name.substring(name.lastIndexOf('.')+1));
        System.out.print("=");
        
        System.out.print(String.format("% 6.2f", view.getX()));
        System.out.print(", ");
        System.out.print(String.format("% 6.2f", view.getY()));
        System.out.print(", ");
        System.out.print(String.format("% 6.2f", view.getWidth() ));
        System.out.print(", ");
        System.out.print(String.format("% 6.2f", view.getHeight()));
        System.out.println();
    }      

  关键就是"% 6.2f"意思是,各个部分的意思是:

  • %:格式。
  • 空格:不足位数以空格对齐。
  • 6:数字整数+小数点+小数位数,是6。即整数3,小数点1,小数2。
  • 2:小数位数是2。
  • f:浮点数。