I am writing a function round: static float round(float number, precision){}
The function should work like this: round(12.3456f, 3) = 12.345
My definition of function is like this:
public static float round(float value, int precision) {
float result;
if(precision <= 0){
    throw new RuntimeException("Precision can not be zero or less");
}
int number = (int) power(10,precision);
value = value * number;
result = (float)Math.round(value)/number;
return result;
} 
But the issue is that, my unit test case for this function doesn't pass,
 public void mathTestNew() {
    assertEquals("MathTest",12.341,OOTBFunctions.round(12.3416f,3));
 }
The result is junit.framework.AssertionFailedError: MathTest expected:<12.341> but was:<12.342>
I am not sure how to overcome this error. I am not sure if BigDecimal will help me in this.
 
     
     
     
     
     
    