BigDecimalMath { public static BigDecimal toBigDecimal(String string) { return toBigDecimal(string, MathContext.UNLIMITED); } private  BigDecimalMath(); static BigDecimal toBigDecimal(String string); static BigDecimal toBigDecimal(String string, MathContext mathContext); static boolean isIntValue(BigDecimal value); static boolean isLongValue(BigDecimal value); static boolean isDoubleValue(BigDecimal value); static BigDecimal mantissa(BigDecimal value); static int exponent(BigDecimal value); static int significantDigits(BigDecimal value); static BigDecimal integralPart(BigDecimal value); static BigDecimal fractionalPart(BigDecimal value); static BigDecimal round(BigDecimal value, MathContext mathContext); static BigDecimal roundWithTrailingZeroes(BigDecimal value, MathContext mathContext); static BigDecimal reciprocal(BigDecimal x, MathContext mathContext); static BigDecimal factorial(int n); static BigDecimal factorial(BigDecimal x, MathContext mathContext); static BigDecimal gamma(BigDecimal x, MathContext mathContext); static BigDecimal bernoulli(int n, MathContext mathContext); static BigDecimal pow(BigDecimal x, BigDecimal y, MathContext mathContext); static BigDecimal pow(BigDecimal x, long y, MathContext mathContext); static BigDecimal sqrt(BigDecimal x, MathContext mathContext); static BigDecimal root(BigDecimal x, BigDecimal n, MathContext mathContext); static BigDecimal log(BigDecimal x, MathContext mathContext); static BigDecimal log2(BigDecimal x, MathContext mathContext); static BigDecimal log10(BigDecimal x, MathContext mathContext); static BigDecimal pi(MathContext mathContext); static BigDecimal e(MathContext mathContext); static BigDecimal exp(BigDecimal x, MathContext mathContext); static BigDecimal sin(BigDecimal x, MathContext mathContext); static BigDecimal asin(BigDecimal x, MathContext mathContext); static BigDecimal cos(BigDecimal x, MathContext mathContext); static BigDecimal acos(BigDecimal x, MathContext mathContext); static BigDecimal tan(BigDecimal x, MathContext mathContext); static BigDecimal atan(BigDecimal x, MathContext mathContext); static BigDecimal atan2(BigDecimal y, BigDecimal x, MathContext mathContext); static BigDecimal cot(BigDecimal x, MathContext mathContext); static BigDecimal acot(BigDecimal x, MathContext mathContext); static BigDecimal sinh(BigDecimal x, MathContext mathContext); static BigDecimal cosh(BigDecimal x, MathContext mathContext); static BigDecimal tanh(BigDecimal x, MathContext mathContext); static BigDecimal coth(BigDecimal x, MathContext mathContext); static BigDecimal asinh(BigDecimal x, MathContext mathContext); static BigDecimal acosh(BigDecimal x, MathContext mathContext); static BigDecimal atanh(BigDecimal x, MathContext mathContext); static BigDecimal acoth(BigDecimal x, MathContext mathContext);  }
@Test public void testToBigDecimal() { assertToBigDecimal("0"); assertToBigDecimal("00"); assertToBigDecimal("0.0"); assertToBigDecimal("0.00"); assertToBigDecimal("00.00"); assertToBigDecimal("+0"); assertToBigDecimal("-0"); assertToBigDecimal("+0E123"); assertToBigDecimal("-0E-123"); assertToBigDecimal(".123"); assertToBigDecimal("123."); assertToBigDecimal("1"); assertToBigDecimal("1.0"); assertToBigDecimal("1.23"); assertToBigDecimal("1.2300"); assertToBigDecimal("1234567890"); assertToBigDecimal("1234567890.1234567890123456789"); assertToBigDecimal("001"); assertToBigDecimal("001.23"); assertToBigDecimal("001.2300"); assertToBigDecimal("001234567890"); assertToBigDecimal("001234567890.1234567890123456789"); assertToBigDecimal("+1"); assertToBigDecimal("+1.23"); assertToBigDecimal("+1.2300"); assertToBigDecimal("+1234567890"); assertToBigDecimal("+1234567890.1234567890123456789"); assertToBigDecimal("-1"); assertToBigDecimal("-1.23"); assertToBigDecimal("-1.2300"); assertToBigDecimal("-1234567890"); assertToBigDecimal("-1234567890.1234567890123456789"); assertToBigDecimal("1.23E123"); assertToBigDecimal("1.2300E123"); assertToBigDecimal("1.23E+123"); assertToBigDecimal("1.23E-123"); }