bson/src/main/org/bson/types/Decimal128.java
public BigDecimal bigDecimalValue() {

        if (isNaN()) {
            throw new ArithmeticException("NaN can not be converted to a BigDecimal");
        }

        if (isInfinite()) {
            throw new ArithmeticException("Infinity can not be converted to a BigDecimal");
        }

        BigDecimal bigDecimal = bigDecimalValueNoNegativeZeroCheck();

        // If the BigDecimal is 0, but the Decimal128 is negative, that means we have -0.
        if (isNegative() && bigDecimal.signum() == 0) {
            throw new ArithmeticException("Negative zero can not be converted to a BigDecimal");
        }

        return bigDecimal;
    }
public BigDecimal bigDecimalValue() {

        if (isNaN()) {
            throw new ArithmeticException("NaN can not be converted to a BigDecimal");
        }

        if (isInfinite()) {
            throw new ArithmeticException("Infinity can not be converted to a BigDecimal");
        }

        BigDecimal bigDecimal = bigDecimalValueNoNegativeZeroCheck();

        // If the BigDecimal is 0, but the Decimal128 is negative, that means we have -0.
        if (isNegative() && bigDecimal.signum() == 0) {
            throw new ArithmeticException("Negative zero can not be converted to a BigDecimal");
        }

        return bigDecimal;
    }
public BigDecimal bigDecimalValue ( ) { if ( isNaN ( ) ) { throw new ArithmeticException ( "NaN can not be converted to a BigDecimal" ) ; } if ( isInfinite ( ) ) { throw new ArithmeticException ( "Infinity can not be converted to a BigDecimal" ) ; } BigDecimal bigDecimal = bigDecimalValueNoNegativeZeroCheck ( ) ; // If the BigDecimal is 0, but the Decimal128 is negative, that means we have -0. if ( isNegative ( ) && bigDecimal . signum ( ) == 0 ) { throw new ArithmeticException ( "Negative zero can not be converted to a BigDecimal" ) ; } return bigDecimal ; }
Gets a BigDecimal that is equivalent to this Decimal128.

@return a BigDecimal that is equivalent to this Decimal128
@throws ArithmeticException if the Decimal128 value is NaN, Infinity, -Infinity, or -0, none of which can be represented as a
BigDecimal
Gets a BigDecimal that is equivalent to this Decimal128 .