これが私の例です:
double num = 0;
num = 4/3;
System.out.println(num);
私の出力は1.3ではなく1.0です
助言がありますか?
これは常に切り捨てられた 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));
これを試して..
double value= 255.956666;
BigDecimal bd = new BigDecimal(value).setScale(2, RoundingMode.HALF_UP);
System.out.println("value="+bd);
また、 String.format(%1.2f, yourDouble) を使用して小数点以下をフォーマットする必要があります