Class Decimal32

    • Field Detail

      • POSITIVE_INFINITY

        public static final Decimal32 POSITIVE_INFINITY
      • NEGATIVE_INFINITY

        public static final Decimal32 NEGATIVE_INFINITY
      • POSITIVE_NAN

        public static final Decimal32 POSITIVE_NAN
      • NEGATIVE_NAN

        public static final Decimal32 NEGATIVE_NAN
      • POSITIVE_SIGNALING_NAN

        public static final Decimal32 POSITIVE_SIGNALING_NAN
      • NEGATIVE_SIGNALING_NAN

        public static final Decimal32 NEGATIVE_SIGNALING_NAN
    • Method Detail

      • parseBytes

        public static Decimal32 parseBytes​(byte[] decBytes)
        Parses the provided byte array to a Decimal32.

        This method parses network byte-order (aka big-endian). When using little-endian order, you will need to reverse the bytes in the array first.

        Parameters:
        decBytes - Bytes of the Decimal32 value in network byte-order (aka big-endian)
        Returns:
        Instance of Decimal32
        Throws:
        java.lang.IllegalArgumentException - When decBytes is not 4 bytes long
      • valueOf

        public static Decimal32 valueOf​(java.math.BigDecimal value)
        Creates a Decimal32 from value, applying rounding where necessary.

        Values exceeding the range of this type will be returned as +/-Infinity.

        Parameters:
        value - Big decimal value to convert
        Returns:
        Decimal32 equivalent
      • valueOf

        public static Decimal32 valueOf​(java.math.BigDecimal value,
                                        OverflowHandling overflowHandling)
        Creates a Decimal32 from value, applying rounding where necessary.

        Values exceeding the range of this type will be handled according to the specified overflow handling.

        Parameters:
        value - Big decimal value to convert
        overflowHandling - Overflow handling to apply
        Returns:
        Decimal32 equivalent
        Throws:
        DecimalOverflowException - If OverflowHandling#THROW_EXCEPTION and the value is out of range.
      • valueOf

        public static Decimal32 valueOf​(java.math.BigInteger value)
        Creates a Decimal32 from value, applying rounding where necessary.

        Values exceeding the range of this type will be returned as +/-Infinity.

        Parameters:
        value - Big integer value to convert
        Returns:
        Decimal32 equivalent
      • valueOf

        public static Decimal32 valueOf​(java.math.BigInteger value,
                                        OverflowHandling overflowHandling)
        Creates a Decimal32 from value, applying rounding where necessary.

        Values exceeding the range of this type will be handled according to the specified overflow handling.

        Calling this method is equivalent to valueOf(new BigDecimal(value), overflowHandling).

        Parameters:
        value - Big integer value to convert
        overflowHandling - Handling of overflows
        Returns:
        Decimal32 equivalent
        Throws:
        DecimalOverflowException - If OverflowHandling#THROW_EXCEPTION and the value is out of range.
        See Also:
        valueOfExact(BigInteger)
      • valueOfExact

        public static Decimal32 valueOfExact​(java.math.BigInteger value)
        Creates a Decimal32 from value, rejecting values that would lose precision due to rounding.
        Parameters:
        value - Big integer value to convert
        Returns:
        Decimal32 equivalent
        Throws:
        DecimalOverflowException - If the value is out of range.
        See Also:
        valueOf(BigInteger, OverflowHandling)
      • valueOf

        public static Decimal32 valueOf​(double value)
        Creates a Decimal32 from value, applying rounding where necessary.

        Double.NaN is mapped to positive NaN, the infinities to their equivalent +/- infinity.

        For normal, finite, values, this is equivalent to valueOf(BigDecimal.valueOf(value)).

        Parameters:
        value - Double value
        Returns:
        Decimal equivalent
      • valueOf

        public static Decimal32 valueOf​(double value,
                                        OverflowHandling overflowHandling)
        Creates a Decimal32 from value, applying rounding where necessary.

        Double.NaN is mapped to positive NaN, the infinities to their equivalent +/- infinity.

        For normal, finite, values, this is equivalent to valueOf(BigDecimal.valueOf(value), overflowHandling).

        Parameters:
        value - Double value
        overflowHandling - Overflow handling to apply
        Returns:
        Decimal equivalent
        Throws:
        DecimalOverflowException - If OverflowHandling#THROW_EXCEPTION and the value is out of range.
      • valueOf

        public static Decimal32 valueOf​(Decimal<?> decimal)
        Converts a decimal to Decimal32.

        For normal, finite, decimals, this behaves like valueOf(decimal.toBigDecimal()), see valueOf(BigDecimal).

        Parameters:
        decimal - Decimal to convert
        Returns:
        Decimal converted to Decimal32, or decimal itself if it already is Decimal32
      • valueOf

        public static Decimal32 valueOf​(Decimal<?> decimal,
                                        OverflowHandling overflowHandling)
        Converts a decimal to Decimal32.

        For normal, finite, decimals, this behaves like valueOf(decimal.toBigDecimal(), overflowHandling), see valueOf(BigDecimal, OverflowHandling).

        Parameters:
        decimal - Decimal to convert
        overflowHandling - Overflow handling to apply
        Returns:
        Decimal converted to Decimal32, or decimal itself if it already is Decimal32
        Throws:
        DecimalOverflowException - If OverflowHandling#THROW_EXCEPTION and the value is out of range.
      • valueOf

        public static Decimal32 valueOf​(java.lang.String value)
        Creates a Decimal32 from value, applying rounding where necessary.

        Except for the special values [+/-]Inf, [+/-]Infinity, [+/-]NaN and [+/-]sNaN (case insensitive), the rules of BigDecimal(String) apply, with special handling in place to discern between positive and negative zero.

        Values exceeding the range of this type will be returned as +/-Infinity.

        Parameters:
        value - String value to convert
        Returns:
        Decimal equivalent
        Throws:
        java.lang.NumberFormatException - If the provided string is not valid numeric string.
      • valueOf

        public static Decimal32 valueOf​(java.lang.String value,
                                        OverflowHandling overflowHandling)
        Creates a Decimal32 from value, applying rounding where necessary.

        Except for the special values [+/-]Inf, [+/-]Infinity, [+/-]NaN and [+/-]sNaN (case insensitive), the rules of BigDecimal(String) apply, with special handling in place to discern between positive and negative zero.

        Values exceeding the range of this type will be handled according to the specified overflow handling.

        Parameters:
        value - String value to convert
        overflowHandling - Overflow handling to apply
        Returns:
        Decimal equivalent
        Throws:
        java.lang.NumberFormatException - If the provided string is not valid numeric string.
        DecimalOverflowException - If OverflowHandling#THROW_EXCEPTION and the value is out of range.