Package com.helger.base.numeric
Class BigHelper
java.lang.Object
com.helger.base.numeric.BigHelper
BigDecimal and BigInteger helper
- Since:
- v12.0.0
- Author:
- Philip Helger
-
Method Summary
Modifier and TypeMethodDescriptionstatic BigDecimalabs(BigDecimal aValue) This is a sanity method wrappingBigDecimal.abs (double), so that you don't have to think whether you need to invoke the abs method from this class or the one from BigDecimal directly.static BigIntegerabs(BigInteger aValue) This is a sanity method wrappingBigInteger.abs (double), so that you don't have to think whether you need to invoke the abs method from this class or the one from BigInteger directly.static BigDecimaladdPercent(BigDecimal aBase, BigDecimal aPercentage) Add x% to basestatic BigDecimaladdPercent(BigDecimal aBase, BigDecimal aPercentage, int nScale, RoundingMode eRoundingMode) Add x% to basestatic booleanequalValues(BigDecimal aObj1, BigDecimal aObj2) Special equals implementation for BigDecimal becauseBigDecimal.equalsreturnsfalseif they have a different scale so that "5.5" is not equal "5.50".static BigDecimalgetDividedBigDecimal(long nDividend, long nDivisor) Get the division result usingBigDecimal.static BigDecimalgetDividedBigDecimal(long nDividend, long nDivisor, int nScale, RoundingMode eRoundingMode) Get the division result usingBigDecimal.static intGet the number of effective fraction digits by the specified BigDecimal.static BigDecimalgetMaxBigDecimal(BigDecimal aValue, BigDecimal... aValues) static BigIntegergetMaxBigInteger(BigInteger aValue, BigInteger... aValues) static BigDecimalgetMinBigDecimal(BigDecimal aValue, BigDecimal... aValues) static BigIntegergetMinBigInteger(BigInteger aValue, BigInteger... aValues) static BigDecimalgetPercentValue(BigDecimal aBase, BigDecimal aPercentage) Get x% from basestatic BigDecimalgetPercentValue(BigDecimal aBase, BigDecimal aPercentage, int nScale, RoundingMode eRoundingMode) Get x% from base with rounding etc.static BigDecimalgetWithoutTrailingZeroes(String sValue) Get the passed String as a BigDecimal without any trailing zeroes.static BigDecimalgetWithoutTrailingZeroes(BigDecimal aValue) Get the passed BigDecimal without any trailing zeroes.static booleanisEQ0(BigDecimal aValue) static booleanisEQ0(BigInteger aValue) static booleanisEQ1(BigDecimal aValue) static booleanisEQ1(BigInteger aValue) static booleanisEQ10(BigDecimal aValue) static booleanisEQ10(BigInteger aValue) static booleanisEQ100(BigDecimal aValue) static booleanisEQ100(BigInteger aValue) static booleanisGE0(BigDecimal aValue) static booleanisGE0(BigInteger aValue) static booleanisGE1(BigDecimal aValue) static booleanisGE1(BigInteger aValue) static booleanisGE10(BigDecimal aValue) static booleanisGE10(BigInteger aValue) static booleanisGE100(BigDecimal aValue) static booleanisGE100(BigInteger aValue) static booleanisGT0(BigDecimal aValue) static booleanisGT0(BigInteger aValue) static booleanisGT1(BigDecimal aValue) static booleanisGT1(BigInteger aValue) static booleanisGT10(BigDecimal aValue) static booleanisGT10(BigInteger aValue) static booleanisGT100(BigDecimal aValue) static booleanisGT100(BigInteger aValue) static booleanisLE0(BigDecimal aValue) static booleanisLE0(BigInteger aValue) static booleanisLE1(BigDecimal aValue) static booleanisLE1(BigInteger aValue) static booleanisLE10(BigDecimal aValue) static booleanisLE10(BigInteger aValue) static booleanisLE100(BigDecimal aValue) static booleanisLE100(BigInteger aValue) static booleanisLT0(BigDecimal aValue) static booleanisLT0(BigInteger aValue) static booleanisLT1(BigDecimal aValue) static booleanisLT1(BigInteger aValue) static booleanisLT10(BigDecimal aValue) static booleanisLT10(BigInteger aValue) static booleanisLT100(BigDecimal aValue) static booleanisLT100(BigInteger aValue) static booleanisNE0(BigDecimal aValue) static booleanisNE0(BigInteger aValue) static booleanisNE1(BigDecimal aValue) static booleanisNE1(BigInteger aValue) static booleanisNE10(BigDecimal aValue) static booleanisNE10(BigInteger aValue) static booleanisNE100(BigDecimal aValue) static booleanisNE100(BigInteger aValue) static BigDecimalsubtractPercent(BigDecimal aBase, BigDecimal aPercentage) Subtract x% from basestatic BigDecimalsubtractPercent(BigDecimal aBase, BigDecimal aPercentage, int nScale, RoundingMode eRoundingMode) Subtract x% from basestatic BigDecimaltoBigDecimal(double d) static BigDecimaltoBigDecimal(float f) static BigDecimaltoBigDecimal(int n) static BigDecimaltoBigDecimal(long n) static BigDecimaltoBigDecimal(Number aNumber) static BigDecimaltoBigDecimal(String sNumber) static BigIntegertoBigInteger(int n) static BigIntegertoBigInteger(long n) static BigIntegertoBigInteger(Number aNumber) static BigIntegertoBigInteger(String sNumber)
-
Method Details
-
getDividedBigDecimal
Get the division result usingBigDecimal.- Parameters:
nDividend- the dividendnDivisor- the divisor- Returns:
- the result of the division
- Throws:
ArithmeticException- if the divisor is 0.
-
getDividedBigDecimal
@Nonnull public static BigDecimal getDividedBigDecimal(long nDividend, long nDivisor, @Nonnegative int nScale, @Nonnull RoundingMode eRoundingMode) Get the division result usingBigDecimal.- Parameters:
nDividend- the dividendnDivisor- the divisornScale- Number of fraction digits. Must be ≥ 0.eRoundingMode- Round mode to be used. May not benull.- Returns:
- the result of the division
- Throws:
ArithmeticException- if the divisor is 0.- Since:
- v11.0.2
-
getMaxBigDecimal
@Nonnull public static BigDecimal getMaxBigDecimal(@Nonnull BigDecimal aValue, @Nonnull BigDecimal... aValues) -
getMaxBigInteger
@Nonnull public static BigInteger getMaxBigInteger(@Nonnull BigInteger aValue, @Nonnull BigInteger... aValues) -
getMinBigDecimal
@Nonnull public static BigDecimal getMinBigDecimal(@Nonnull BigDecimal aValue, @Nonnull BigDecimal... aValues) -
getMinBigInteger
@Nonnull public static BigInteger getMinBigInteger(@Nonnull BigInteger aValue, @Nonnull BigInteger... aValues) -
abs
This is a sanity method wrappingBigDecimal.abs (double), so that you don't have to think whether you need to invoke the abs method from this class or the one from BigDecimal directly.- Parameters:
aValue- Input value- Returns:
- the absolute value of the argument.
-
abs
This is a sanity method wrappingBigInteger.abs (double), so that you don't have to think whether you need to invoke the abs method from this class or the one from BigInteger directly.- Parameters:
aValue- Input value- Returns:
- the absolute value of the argument.
-
equalValues
Special equals implementation for BigDecimal becauseBigDecimal.equalsreturnsfalseif they have a different scale so that "5.5" is not equal "5.50".- Parameters:
aObj1- first valueaObj2- second value- Returns:
trueif they contain the same value
-
isEQ0
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is = 0.
-
isNE0
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is != 0.
-
isLT0
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is < 0.
-
isLE0
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is ≤ 0.
-
isGT0
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is > 0.
-
isGE0
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is ≥ 0.
-
isEQ1
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is = 1.
-
isNE1
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is != 1.
-
isLT1
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is < 1.
-
isLE1
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is ≤ 1.
-
isGT1
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is > 1.
-
isGE1
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is ≥ 1.
-
isEQ10
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is = 10.
-
isNE10
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is != 10.
-
isLT10
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is < 10.
-
isLE10
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is ≤ 10.
-
isGT10
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is > 10.
-
isGE10
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is ≥ 10.
-
isEQ100
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is = 100.
-
isNE100
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is != 100.
-
isLT100
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is < 100.
-
isLE100
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is ≤ 100.
-
isGT100
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is > 100.
-
isGE100
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is ≥ 100.
-
isEQ0
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is = 0.
-
isNE0
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is != 0.
-
isLT0
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is < 0.
-
isLE0
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is ≤ 0.
-
isGT0
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is > 0.
-
isGE0
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is ≥ 0.
-
isEQ1
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is = 1.
-
isNE1
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is != 1.
-
isLT1
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is < 1.
-
isLE1
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is ≤ 1.
-
isGT1
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is > 1.
-
isGE1
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is ≥ 1.
-
isEQ10
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is = 10.
-
isNE10
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is != 10.
-
isLT10
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is < 10.
-
isLE10
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is ≤ 10.
-
isGT10
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is > 10.
-
isGE10
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is ≥ 10.
-
isEQ100
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is = 100.
-
isNE100
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is != 100.
-
isLT100
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is < 100.
-
isLE100
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is ≤ 100.
-
isGT100
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is > 100.
-
isGE100
- Parameters:
aValue- Value to compare. May not benull.- Returns:
trueif the value is ≥ 100.
-
getWithoutTrailingZeroes
@Nullable @CheckReturnValue public static BigDecimal getWithoutTrailingZeroes(@Nullable String sValue) Get the passed String as a BigDecimal without any trailing zeroes.- Parameters:
sValue- The String to be used as a BigDecimal to be modified. May benull.- Returns:
nullif the input value isnull.
-
getWithoutTrailingZeroes
@Nullable @CheckReturnValue public static BigDecimal getWithoutTrailingZeroes(@Nullable BigDecimal aValue) Get the passed BigDecimal without any trailing zeroes. Examples:- new BigDecimal ("0.00000000") --> 0
- new BigDecimal ("10") --> 10
- new BigDecimal ("10.00000000") --> 10
- new BigDecimal ("10.1") --> 10.1
- new BigDecimal ("10.10000000") --> 10.1
- new BigDecimal ("10.345") --> 10.345
- new BigDecimal ("10.3450000000") --> 10.345
- Parameters:
aValue- The BigDecimal to be modified. May benull.- Returns:
nullif the input value isnull.
-
getFractionDigits
Get the number of effective fraction digits by the specified BigDecimal. Examples:- new BigDecimal ("10") --> 0
- new BigDecimal ("10.00000000") --> 0
- new BigDecimal ("10.1") --> 1
- new BigDecimal ("10.10000000") --> 1
- new BigDecimal ("10.345") --> 3
- new BigDecimal ("10.3450000000") --> 3
- Parameters:
aBD- The BigDecimal to check. May not benull.- Returns:
- The minimum number of fraction digits. Always ≥ 0.
-
addPercent
@Nonnull public static BigDecimal addPercent(@Nonnull BigDecimal aBase, @Nonnull BigDecimal aPercentage) Add x% to base- Parameters:
aBase- Base value. May not benull.aPercentage- Percentage value (0-100). May not benull.- Returns:
- base + x% (
=aBase * (100 + perc) / 100). Nevernull.
-
addPercent
@Nonnull public static BigDecimal addPercent(@Nonnull BigDecimal aBase, @Nonnull BigDecimal aPercentage, @Nonnegative int nScale, @Nonnull RoundingMode eRoundingMode) Add x% to base- Parameters:
aBase- Base value. May not benull.aPercentage- Percentage value (0-100). May not benull.nScale- Maximum scale to achieve.eRoundingMode- Rounding mode to used. May not benull.- Returns:
- base + x% (
=aBase * (100 + perc) / 100). Nevernull.
-
subtractPercent
@Nonnull public static BigDecimal subtractPercent(@Nonnull BigDecimal aBase, @Nonnull BigDecimal aPercentage) Subtract x% from base- Parameters:
aBase- Base value. May not benull.aPercentage- Percentage value (0-100). May not benull.- Returns:
- base - x% (
=aBase * (100 - perc) / 100). Nevernull.
-
subtractPercent
@Nonnull public static BigDecimal subtractPercent(@Nonnull BigDecimal aBase, @Nonnull BigDecimal aPercentage, @Nonnegative int nScale, @Nonnull RoundingMode eRoundingMode) Subtract x% from base- Parameters:
aBase- Base value. May not benull.aPercentage- Percentage value (0-100). May not benull.nScale- Maximum scale to achieve.eRoundingMode- Rounding mode to used. May not benull.- Returns:
- base - x% (
=aBase * (100 - perc) / 100). Nevernull.
-
getPercentValue
@Nonnull public static BigDecimal getPercentValue(@Nonnull BigDecimal aBase, @Nonnull BigDecimal aPercentage) Get x% from base- Parameters:
aBase- Base value. May not benull.aPercentage- Percentage value (0-100). May not benull.- Returns:
- x% from base (
=aBase * perc / 100). Nevernull.
-
getPercentValue
@Nonnull public static BigDecimal getPercentValue(@Nonnull BigDecimal aBase, @Nonnull BigDecimal aPercentage, @Nonnegative int nScale, @Nonnull RoundingMode eRoundingMode) Get x% from base with rounding etc.- Parameters:
aBase- Base value. May not benull.aPercentage- Percentage value (0-100). May not benull.nScale- Maximum scale to achieve.eRoundingMode- Rounding mode to used. May not benull.- Returns:
- x% from base (
=aBase * perc / 100). Nevernull.
-
toBigDecimal
-
toBigDecimal
-
toBigDecimal
-
toBigDecimal
-
toBigDecimal
-
toBigDecimal
-
toBigInteger
-
toBigInteger
-
toBigInteger
-
toBigInteger
-