BigInteger
Beanのプロパティを検証できるカスタム バリデーターを Web アプリケーションに実装しています。Number(8, 0)
このプロパティは、Oracle テーブルのタイプにマップされます。
のように、指定された数値の精度を返すことができるBigDecimal
メソッドは見当たりません。BigInteger
基本的には、最初に次のようにBigInteger
値を変換BigDecimal
して精度を取得しています (これはデモ用です)。
int minPrecision=1;
int maxPrecision=8;
BigInteger bigInteger=new BigInteger("12345");
BigDecimal bigDecimal=new BigDecimal(bigInteger, 0);
int precision=bigDecimal.precision();
boolean isValid=precision>=minPrecision && precision<=maxPrecision;
System.out.println(isValid+" : "+precision);
BigInteger
その値の精度を返す正確な方法を提供しますか?