NumericFunctions { public static Float truncate(Float inputValue, int numberOfDigits) { if (inputValue == null) return null; BigDecimal bigDecimal = new BigDecimal(inputValue); BigDecimal roundedWithScale = bigDecimal.setScale(numberOfDigits, RoundingMode.DOWN).stripTrailingZeros(); return roundedWithScale.floatValue(); }  @SuppressWarnings("unchecked") @Deprecated static T decimalStrip(T inputValue); static String decimalStrip(String inputValue); @SuppressWarnings("unchecked") @Deprecated static T decimalStrip(T inputValue, T decimal_point); static String decimalStrip(String inputValue, String decimal_point); @SuppressWarnings("unchecked") static T mathAbs(T inputValue); static Integer random(T n); static Double getDoubleFromComparable(T inputValue); static Double toDouble(Float inputValue); static Double toDouble(Integer inputValue); static Double toDouble(String inputValue); static Double toDouble(Long inputValue); static Double toDouble(Short inputValue); static Double toDouble(BigDecimal inputValue); static Float round(Float inputValue, int numberOfDigits); static Double round(Double inputValue, int numberOfDigits); static BigDecimal round(BigDecimal inputValue, int numberOfDigits); static Float roundUp(Float inputValue, int numberOfDigits); static Double roundUp(Double inputValue, int numberOfDigits); static BigDecimal roundUp(BigDecimal inputValue, int numberOfDigits); static Float roundDown(Float inputValue, int numberOfDigits); static Double roundDown(Double inputValue, int numberOfDigits); static BigDecimal roundDown(BigDecimal inputValue, int numberOfDigits); static Float truncate(Float inputValue, int numberOfDigits); static Double truncate(Double inputValue, int numberOfDigits); static BigDecimal truncate(BigDecimal inputValue, int numberOfDigits); static Float ceil(Float inputValue); static Double ceil(Double inputValue); static BigDecimal ceil(BigDecimal inputValue); static Float floor(Float number); static Double floor(Double number); static BigDecimal floor(BigDecimal number); static Integer length(Integer inputValue); static Integer length(Long inputValue); static Integer length(Float inputValue); static Integer length(Double inputValue); static Integer length(Short inputValue); static Integer toInteger(String inputValue); static Float toFloat(String inputValue); static Float toFloat(Integer inputValue); static Float toFloat(Long inputValue); static Float toFloat(Double inputValue); static Float toFloat(BigDecimal inputValue); static BigDecimal toBigdecimal(String inputValue, int scale); static BigDecimal toBigdecimal(Integer inputValue); static BigDecimal toBigdecimal(Long inputValue); static BigDecimal toBigdecimal(Float inputValue); static BigDecimal toBigdecimal(Double inputValue); @Deprecated static BigDecimal toBigdecimal(char[] inputValue, int scale); static String toChar(Short input); static String toChar(Integer input); static String toChar(Long input); static String toChar(Float input); static String toChar(Double input); static String toChar(BigDecimal input); static String toChar(BigDecimal input, int scale); static String numericRightPad(Integer input, int size, char padChar); static String numericLeftPad(Integer input, int size, char padChar);  }
@Test public void testTruncate() { Double result1 = NumericFunctions.truncate(1.219, 2); Double result2 = NumericFunctions.truncate(123.456, 1); Assert.assertEquals(result1, new Double(1.21)); Assert.assertEquals(result2, new Double(123.4)); }