Class BigDecimals


  • public class BigDecimals
    extends java.lang.Object
    Utilities and constants of big decimals.
    Author:
    tomyeh
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int FINE_NUMBER_PRECISION
      Represents our fine number precision.
      static int FINE_NUMBER_SCALE
      Represents our fine number scale.
      static java.math.BigDecimal MINUS_ONE
      Represents -1 in big decimal.
      static int NUMBER_PRECISION
      Represents our number precision.
      static int NUMBER_SCALE
      Represents our number scale.
      static java.math.BigDecimal ONE
      Represents 1 in big decimal.
      static java.math.BigDecimal ZERO
      Represents 0 in big decimal.
    • Constructor Summary

      Constructors 
      Constructor Description
      BigDecimals()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.math.BigDecimal toBigDecimal​(byte v)
      Converts a byte to a big decimal with a scale without.
      static java.math.BigDecimal toBigDecimal​(double v, int scale)
      Converts a double to a big decimal with a scale.
      static java.math.BigDecimal toBigDecimal​(double v, int scale, int roundingMode)
      Converts a double to a big decimal with a scale.
      static java.math.BigDecimal toBigDecimal​(int v)
      Converts an integer to a big decimal with a scale without.
      static java.math.BigDecimal toBigDecimal​(int v, int scale)
      Converts an integer to a big decimal with a scale.
      static java.math.BigDecimal toBigDecimal​(long v)
      Converts a long to a big decimal with a scale without.
      static java.math.BigDecimal toBigDecimal​(long v, int scale)
      Converts an integer to a big decimal with a scale.
      static java.math.BigDecimal toBigDecimal​(short v)
      Converts a short to a big decimal with a scale without.
      static java.math.BigDecimal toBigDecimal​(java.lang.Byte v)
      Converts a byte to a big decimal with a scale without.
      static java.math.BigDecimal toBigDecimal​(java.lang.Integer v)
      Converts an integer to a big decimal with a scale without.
      static java.math.BigDecimal toBigDecimal​(java.lang.Long v)
      Converts a long to a big decimal with a scale without.
      static java.math.BigDecimal toBigDecimal​(java.lang.Short v)
      Converts a short to a big decimal with a scale without.
      static java.lang.String toLocaleString​(java.math.BigDecimal bd, java.util.Locale locale)
      Return a string representation of this BigDecimal without an exponent field, which respects the given locale.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • ZERO

        public static final java.math.BigDecimal ZERO
        Represents 0 in big decimal.
        See Also:
        ONE, MINUS_ONE
      • ONE

        public static final java.math.BigDecimal ONE
        Represents 1 in big decimal.
        See Also:
        ZERO, MINUS_ONE
      • MINUS_ONE

        public static final java.math.BigDecimal MINUS_ONE
        Represents -1 in big decimal.
        See Also:
        ZERO, ONE
      • NUMBER_PRECISION

        public static final int NUMBER_PRECISION
        Represents our number precision.
        See Also:
        Constant Field Values
      • NUMBER_SCALE

        public static final int NUMBER_SCALE
        Represents our number scale.
        See Also:
        Constant Field Values
      • FINE_NUMBER_PRECISION

        public static final int FINE_NUMBER_PRECISION
        Represents our fine number precision.
        See Also:
        Constant Field Values
      • FINE_NUMBER_SCALE

        public static final int FINE_NUMBER_SCALE
        Represents our fine number scale.
        See Also:
        Constant Field Values
    • Constructor Detail

      • BigDecimals

        public BigDecimals()
    • Method Detail

      • toBigDecimal

        public static final java.math.BigDecimal toBigDecimal​(double v,
                                                              int scale,
                                                              int roundingMode)
        Converts a double to a big decimal with a scale.

        It is strongly deprecated to use new Decimal(double) since the scale is unpredictable and usually surprising. For example, BigDecimal(.1) will becomes .1000000000000000055511151231257827021181583404541015625. On the other hand, BigDecimal("0.1") will be 0.1 correctly.

        Parameters:
        scale - the BigDecimal's scale
        roundingMode - the rounding mode
      • toBigDecimal

        public static final java.math.BigDecimal toBigDecimal​(double v,
                                                              int scale)
        Converts a double to a big decimal with a scale. It uses BigDecimal.ROUND_HALF_UP.
      • toBigDecimal

        public static final java.math.BigDecimal toBigDecimal​(int v,
                                                              int scale)
        Converts an integer to a big decimal with a scale.
      • toBigDecimal

        public static final java.math.BigDecimal toBigDecimal​(long v,
                                                              int scale)
        Converts an integer to a big decimal with a scale.
      • toBigDecimal

        public static final java.math.BigDecimal toBigDecimal​(int v)
        Converts an integer to a big decimal with a scale without. losing precision -- zero scale in this case.
      • toBigDecimal

        public static final java.math.BigDecimal toBigDecimal​(long v)
        Converts a long to a big decimal with a scale without. losing precision -- zero scale in this case.
      • toBigDecimal

        public static final java.math.BigDecimal toBigDecimal​(short v)
        Converts a short to a big decimal with a scale without. losing precision -- zero scale in this case.
      • toBigDecimal

        public static final java.math.BigDecimal toBigDecimal​(byte v)
        Converts a byte to a big decimal with a scale without. losing precision -- zero scale in this case.
      • toBigDecimal

        public static final java.math.BigDecimal toBigDecimal​(java.lang.Integer v)
        Converts an integer to a big decimal with a scale without. losing precision -- zero scale in this case.
      • toBigDecimal

        public static final java.math.BigDecimal toBigDecimal​(java.lang.Long v)
        Converts a long to a big decimal with a scale without. losing precision -- zero scale in this case.
      • toBigDecimal

        public static final java.math.BigDecimal toBigDecimal​(java.lang.Short v)
        Converts a short to a big decimal with a scale without. losing precision -- zero scale in this case.
      • toBigDecimal

        public static final java.math.BigDecimal toBigDecimal​(java.lang.Byte v)
        Converts a byte to a big decimal with a scale without. losing precision -- zero scale in this case.
      • toLocaleString

        public static final java.lang.String toLocaleString​(java.math.BigDecimal bd,
                                                            java.util.Locale locale)
        Return a string representation of this BigDecimal without an exponent field, which respects the given locale.
        Parameters:
        locale - if null, the current user locale is used.
        Since:
        5.0.10