4

我有一个双数字,我只想打印这个数字的组成部分。我试图用它来打印它,System.out.printf但我得到了一个IllegalFormatConversionException. 我试过类似的东西:

A()
{ 
    double x;
    //calculate double
    System.out.println("%d",x);
}

我知道我可以简单地使用它来打印它,System.out.print但这也会打印小数部分。我怎样才能做到这一点printf

4

3 回答 3

15
System.out.printf("%.0f",x);
  • .0指定精度。数字根据此处指定的精度四舍五入。(例如,如果你想要 2 个小数位,你会指定 0.2)
  • f指定它是一个浮点数 - 包括双精度数(d 是十进制整数)
于 2012-05-10T13:28:55.443 回答
0

您也可以使用%gtoround-off并将 double 作为整数打印:

System.out.printf("x=%g%n", x);
于 2012-05-10T13:43:16.163 回答
0

您可以使用以下代码:

 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);

}
于 2012-05-10T13:44:00.163 回答