Javaで精度を設定する方法


  1. BigDecimalを使用する方法: BigDecimalクラスは、高精度な浮動小数点演算をサポートしています。次のコード例では、BigDecimalを使用して精度を設定しています。
import java.math.BigDecimal;
public class PrecisionExample {
    public static void main(String[] args) {
        BigDecimal number = new BigDecimal("3.14159");
        BigDecimal rounded = number.setScale(2, BigDecimal.ROUND_HALF_UP);
        System.out.println("Rounded number: " + rounded);
    }
}

上記の例では、"3.14159"という値を2桁に丸めています。setScaleメソッドの第1引数には丸める桁数を指定し、第2引数には丸めの方法を指定します。ここではROUND_HALF_UPを使用しています。

  1. DecimalFormatを使用する方法: DecimalFormatクラスは、数値のフォーマットを制御するために使用されます。次のコード例では、DecimalFormatを使用して精度を設定しています。
import java.text.DecimalFormat;
public class PrecisionExample {
    public static void main(String[] args) {
        double number = 3.14159;
        DecimalFormat df = new DecimalFormat("#.##");
        String formatted = df.format(number);
        System.out.println("Formatted number: " + formatted);
    }
}

上記の例では、3.14159という値を2桁に丸めています。DecimalFormatクラスのパターン#.##を使用しています。

これらはJavaで精度を設定するための一般的な方法のいくつかです。BigDecimalを使用すると高精度な計算が可能ですが、プリミティブな浮動小数点数の場合はDecimalFormatを使用することもできます。適切な方法を選択し、自身の要件に合わせて使用してください。