用Java打印双数字System.out.printf

用Java打印双数字System.out.printf,java,Java,我有一个双倍数字,我只想打印这个数字的整数部分。我试图使用System.out.printf打印它,但我得到了一个非法格式转换异常。我试过这样的方法: A() { double x; //calculate double System.out.println("%d",x); } 我知道我可以简单地使用System.out.print打印它,但这也会打印小数部分。如何使用printf System.out.printf("%.0f",x); .0指定精度。数字根据

我有一个双倍数字,我只想打印这个数字的整数部分。我试图使用
System.out.printf
打印它,但我得到了一个
非法格式转换异常
。我试过这样的方法:

A()
{ 
    double x;
    //calculate double
    System.out.println("%d",x);
}
我知道我可以简单地使用
System.out.print
打印它,但这也会打印小数部分。如何使用
printf

System.out.printf("%.0f",x);
  • .0指定精度。数字根据此处指定的精度进行四舍五入。(例如,如果需要2位小数,则指定0.2)
  • f指定它是一个浮点-包括双精度(d表示十进制整数)

您还可以使用
%g
进行
四舍五入
并将双精度打印为整数:

System.out.printf("x=%g%n", x);

您可以使用以下代码:

 public static void main(String[] args) {
    double x = 0 ;//The local variable x must be initialized
    System.out.printf("%d",(int)x);//in JDK 5
           //OR
    System.out.printf("%.0f",x);//in JDK 5
           //OR
    System.out.println((int)x);

}