【Java】BigDecimalクラスのlongValueExact()メソッドの使い方と例

Javaプログラミングにおいて、数値を基本データ型に変換することは一般的です。BigDecimalクラスは、高精度な算術演算を提供しますが、基本データ型への変換も可能です。その中でも、longValueExact()メソッドはBigDecimalオブジェクトをlong型に変換する際に、精度が失われないようにします。この記事では、BigDecimalクラスのlongValueExact()メソッドについて詳しく解説します。

目次

BigDecimalのlongValueExact()メソッドとは?

BigDecimalクラスのlongValueExact()メソッドは、このBigDecimalオブジェクトをlong型に変換します。ただし、BigDecimalの値がlong型の範囲外である場合には、ArithmeticExceptionがスローされます。このメソッドは、精度が失われることなくBigDecimalをlong型に変換することを保証します。

longValueExact()メソッドの構文

public long longValueExact() throws ArithmeticException

longValueExact()メソッドの使用例

以下の例では、BigDecimalのlongValueExact()メソッドを使用して、BigDecimalオブジェクトをlong型に変換します。

import java.math.BigDecimal;

public class Main {
    public static void main(String[] args) {
        // BigDecimalオブジェクトの作成
        BigDecimal bigDecimalValue = new BigDecimal("1234567890123456789");
        
        // longValueExact()メソッドを使用してBigDecimalオブジェクトをlong型に変換
        long longValue = bigDecimalValue.longValueExact();
        
        // 変換結果の出力
        System.out.println("long型に変換した結果: " + longValue);
    }
}

このコードでは、1234567890123456789というBigDecimalオブジェクトを作成し、longValueExact()メソッドを使ってlong型に変換しています。結果として、1234567890123456789がlong型に変換されて出力されます。

注意点

  • longValueExact()メソッドは、BigDecimalオブジェクトをlong型に変換します。ただし、BigDecimalの値がlong型の範囲外である場合には、ArithmeticExceptionがスローされます。
  • longValueExact()メソッドは、精度が失われることなくBigDecimalをlong型に変換することを保証します。

結論

JavaのBigDecimalクラスのlongValueExact()メソッドは、BigDecimalオブジェクトをlong型に変換する際に、精度が失われないようにします。数値計算を行う際に、BigDecimalからlong型に変換し、かつ精度を維持したい場合には、longValueExact()メソッドを使用して変換することができます。

目次