OCJP - 在java中实现printf

时间:2012-02-09 13:51:14

标签: java

 public class Demo {


public static void main(String args[])
{   
    double d = 12.345;

    System.out.printf("|%7.3f|\n",d);
}
}

输出为| 12.345 |

7.3f表示什么。我还想知道其他可以与printf一起使用的选项。 如果我使用

   System.out.printf("|%5.3f|\n",d);

我得到相同的输出?为什么?

5 个答案:

答案 0 :(得分:2)

两个说明符(7.3和5.3)都说“使用3位精度”。它们之间的差异是“最小宽度7”对“最小宽度5”。两者的输出是一个6字符长的数字串和小数点,有3位精度。

当数据的实际宽度小于或等于指定的宽度时,宽度规范很有用。如果要显示的数据超过指定的宽度,则忽略宽度。

PrintStream

答案 1 :(得分:1)

答案 2 :(得分:0)

字符串"%7.3f"表示您要将d格式化为最多包含7个字符和3个小数点的浮点数。

答案 3 :(得分:0)

System.out.printf("|%2.3f|\n",d);
System.out.printf("|%2.2f|\n",d);
System.out.printf("|%2.1f|\n",d);

System.out.printf("|%6.3f|\n",d);
System.out.printf("|%7.3f|\n",d);
System.out.printf("|%8.3f|\n",d);
  

| 12.345 |
      | 12.35 |
      | 12.3 |
      | 12.345 |
      | 12.345 |
      | 12.345 |

答案 4 :(得分:0)

有关标准Java类和方法的官方信息源是Javadoc:
    Java SE API

首先在左下方面板中搜索System类 在那里(右侧面板),您发现outPrintStream的一个实例 点击该链接后,您会看到PrintStream的Javadoc,其中找到了printf的文档。
这些至少包含指向Format string syntax的描述的链接。

(Javadoc也可以从Java SE Downloads下载)