Class BigDecimals

java.lang.Object
org.zkoss.math.BigDecimals

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

    • ZERO

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

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

      public static final BigDecimal MINUS_ONE
      Represents -1 in big decimal.
      See Also:
    • NUMBER_PRECISION

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

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

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

      public static final int FINE_NUMBER_SCALE
      Represents our fine number scale.
      See Also:
  • Constructor Details

    • BigDecimals

      public BigDecimals()
  • Method Details

    • toBigDecimal

      public static final 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 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 BigDecimal toBigDecimal(int v, int scale)
      Converts an integer to a big decimal with a scale.
    • toBigDecimal

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

      public static final 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 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 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 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 BigDecimal toBigDecimal(Integer v)
      Converts an integer to a big decimal with a scale without. losing precision -- zero scale in this case.
    • toBigDecimal

      public static final 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 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 BigDecimal toBigDecimal(Byte v)
      Converts a byte to a big decimal with a scale without. losing precision -- zero scale in this case.
    • toLocaleString

      public static final String toLocaleString(BigDecimal bd, 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