diff --git a/src/com/jasonlam604/stocktechnicals/util/NumberFormatter.java b/src/com/jasonlam604/stocktechnicals/util/NumberFormatter.java index 96ea8ba..5920304 100644 --- a/src/com/jasonlam604/stocktechnicals/util/NumberFormatter.java +++ b/src/com/jasonlam604/stocktechnicals/util/NumberFormatter.java @@ -5,14 +5,17 @@ public class NumberFormatter { + private NumberFormatter() { + } + public static double round(double value) { - return NumberFormatter.round(value,2); + return NumberFormatter.round(value, 2); } - + public static double round(double value, int numberOfDigitsAfterDecimalPoint) { - BigDecimal bigDecimal = new BigDecimal(value); - bigDecimal = bigDecimal.setScale(numberOfDigitsAfterDecimalPoint, BigDecimal.ROUND_HALF_UP); - return bigDecimal.doubleValue(); - } + BigDecimal bigDecimal = new BigDecimal(value); + bigDecimal = bigDecimal.setScale(numberOfDigitsAfterDecimalPoint, BigDecimal.ROUND_HALF_UP); + return bigDecimal.doubleValue(); + } } diff --git a/test/com/jasonlam604/stocktechnicals/util/NumberFormatterTest.java b/test/com/jasonlam604/stocktechnicals/util/NumberFormatterTest.java new file mode 100644 index 0000000..a233463 --- /dev/null +++ b/test/com/jasonlam604/stocktechnicals/util/NumberFormatterTest.java @@ -0,0 +1,25 @@ +package com.jasonlam604.stocktechnicals.util; + +import org.junit.Assert; +import org.junit.Test; + +public class NumberFormatterTest { + + @Test + public void roundingTwoDecimals() { + Assert.assertEquals(10, NumberFormatter.round(10), 0); + Assert.assertEquals(1, NumberFormatter.round(1), 0); + Assert.assertEquals(1.1, NumberFormatter.round(1.1), 0); + Assert.assertEquals(1.14, NumberFormatter.round(1.144), 0); + Assert.assertEquals(1.15, NumberFormatter.round(1.145), 0); + Assert.assertEquals(1.20, NumberFormatter.round(1.19555555), 0); + } + + @Test + public void roundingWithIndicateDecimalPoints() { + Assert.assertEquals(1, NumberFormatter.round(1.19555555, 0), 0); + Assert.assertEquals(1.2, NumberFormatter.round(1.19555555, 1), 0); + Assert.assertEquals(1.20, NumberFormatter.round(1.19555555, 2), 0); + Assert.assertEquals(1.196, NumberFormatter.round(1.19555555, 3), 0); + } +}