Package org.zkoss.math

## Class BigDecimals

- java.lang.Object
- - org.zkoss.math.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