예제 #1
0
 @Override
 public Decimal getDecimal(int ordinal, int precision, int scale) {
   if (isNullAt(ordinal)) {
     return null;
   }
   if (precision <= Decimal.MAX_LONG_DIGITS()) {
     return Decimal.apply(getLong(ordinal), precision, scale);
   } else {
     byte[] bytes = getBinary(ordinal);
     BigInteger bigInteger = new BigInteger(bytes);
     BigDecimal javaDecimal = new BigDecimal(bigInteger, scale);
     return Decimal.apply(javaDecimal, precision, scale);
   }
 }