3

これが私の例です:

double num = 0;

num = 4/3;


System.out.println(num);

私の出力は1.3ではなく1.0です

助言がありますか?

4

4 に答える 4

8

これは常に切り捨てられた int になるため、int 除算を行わないでください。代わりに、部門に少なくとも 1 つの倍精度値を使用させます。

double num = 4.0/3.0;

次に、文字列として表示する場合は、小数点以下の桁数を選択できるように出力をフォーマットします。

// one way to do it
// %.3f is for a floating number with 3 digits to the right of the decimal
// %n is for new line
System.out.printf(%.3f%n, num); 

Another:
DecimalFormat decimalFormat = new DecimalFormat("0.000");
System.out.println(decimalFormat.format(num));
于 2012-10-02T02:47:33.337 に答える
0

これを試して..

double value= 255.956666;

BigDecimal bd = new BigDecimal(value).setScale(2, RoundingMode.HALF_UP);
System.out.println("value="+bd);
于 2015-05-27T17:52:19.253 に答える
0

また、 String.format(%1.2f, yourDouble) を使用して小数点以下をフォーマットする必要があります

于 2012-10-02T02:51:08.793 に答える