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.
-
-
-
Field Detail
-
ZERO
public static final java.math.BigDecimal ZERO
Represents 0 in big decimal.
-
ONE
public static final java.math.BigDecimal ONE
Represents 1 in big decimal.
-
MINUS_ONE
public static final java.math.BigDecimal MINUS_ONE
Represents -1 in big decimal.
-
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
-
-
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 scaleroundingMode
- 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 usesBigDecimal.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
-
-