4

2 つの数値があり、この数値の整数部分のみを出力したいと考えています。を使用して印刷しようとしまし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は、それが浮動小数点であることを指定します-doubleを含みます(dは10進整数を表します)
于 2012-05-10T13:28:55.443 に答える
0

You can also use %g as well to round-off and print double as integer:

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 に答える