Class Decimal<T extends Decimal<T>>

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      double doubleValue()
      Converts this decimal to a double value.
      boolean equals​(java.lang.Object o)  
      int hashCode()  
      java.math.BigDecimal toBigDecimal()
      Converts this decimal to a BigDecimal.
      byte[] toBytes()
      Converts this decimal to its IEEE-754 byte encoding in network byte-order (aka big-endian).
      <D extends Decimal<D>>
      D
      toDecimal​(java.lang.Class<D> decimalType)
      Converts this decimal to the requested decimal type, rounding when necessary.
      <D extends Decimal<D>>
      D
      toDecimal​(java.lang.Class<D> decimalType, OverflowHandling overflowHandling)
      Converts this decimal to the requested decimal type, rounding when necessary.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Method Detail

      • toBigDecimal

        public final java.math.BigDecimal toBigDecimal()
        Converts this decimal to a BigDecimal.
        Returns:
        Value as BigDecimal
        Throws:
        DecimalInconvertibleException - If this value is a NaN, sNaN or Infinity, which can't be represented as a BigDecimal.
      • doubleValue

        public final double doubleValue()
        Converts this decimal to a double value.

        For normal, finite, decimal values, see BigDecimal.doubleValue().

        For type INFINITY, returns Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY. For all NaN-specials, returns Double.NaN (irrespective of signum).

        Returns:
        this decimal converted to a double
      • toBytes

        public final byte[] toBytes()
        Converts this decimal to its IEEE-754 byte encoding in network byte-order (aka big-endian).

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

        Returns:
        byte array
      • toDecimal

        public final <D extends Decimal<D>> D toDecimal​(java.lang.Class<D> decimalType)
        Converts this decimal to the requested decimal type, rounding when necessary.
        Type Parameters:
        D - Type parameter of decimal
        Parameters:
        decimalType - Target decimal type
        Returns:
        This value after conversion, or this if decimalType is the same as this type
        Throws:
        java.lang.IllegalArgumentException - If conversion to decimalType is not supported
      • toDecimal

        public final <D extends Decimal<D>> D toDecimal​(java.lang.Class<D> decimalType,
                                                        OverflowHandling overflowHandling)
        Converts this decimal to the requested decimal type, rounding when necessary.
        Type Parameters:
        D - Type parameter of decimal
        Parameters:
        decimalType - Target decimal type
        overflowHandling - Handling of overflows
        Returns:
        This value after conversion, or this if decimalType is the same as this type
        Throws:
        java.lang.IllegalArgumentException - If conversion to decimalType is not supported
        DecimalOverflowException - If OverflowHandling#THROW_EXCEPTION and the value is out of range for the target decimal type.
      • toString

        public final java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        public final boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public final int hashCode()
        Overrides:
        hashCode in class java.lang.Object