我正在使用Java中的BeanShell解释器来解决字符串计算,但是结果的准确性不正确。 计算字符串的构造如下:
Interpreter interpreter = new Interpreter();
interpreter.eval("import java.math.BigDecimal;");
interpreter.eval("BigDecimal x = new BigDecimal(2.5);");
interpreter.eval("BigDecimal y = new BigDecimal(99.46);");
Object result = interpreter.eval("result = x.multiply(y);");
那么结果是: 结果= 248.64999999999998436805981327779591083526611328125
那么,是什么原因导致结果以及如何how陷?