import java.math.*;
public class Test{
public static void main(String args[]){
BigDecimal initialValue = BigDecimal.valueOf(193);
BigDecimal divider = BigDecimal.valueOf(3);
BigDecimal result = initialValue.divide(divider, 2, RoundingMode.HALF_UP);
System.out.println(initialValue + " / " + divider+" = "+result);
BigDecimal retriveInitialValue = result.multiply(divider);
System.out.println(result + " * " + divider+" = "+retriveInitialValue);
}
}
Output i am getting
193 / 3 = 64.33
64.33 * 3 = 192.99
What i Expect 193 / 3 = 64.33
64.33 * 3 = 193
org.jscience.mathematics.number.FloatingPoint initialValue = org.jscience.mathematics.number.FloatingPoint.valueOf("145.123456789");
org.jscience.mathematics.number.FloatingPoint divideWith = org.jscience.mathematics.number.FloatingPoint.valueOf("3");
org.jscience.mathematics.number.FloatingPoint result = initialValue.divide(divideWith);
System.out.println(result.doubleValue() );
org.jscience.mathematics.number.FloatingPoint finalResult = result.times(divideWith);
System.out.println(finalResult.doubleValue() );