Closed herouu closed 5 years ago
MathContext 就是设置精度的
https://docs.oracle.com/javase/7/docs/api/java/math/MathContext.html
如果你说的是结果如何保留两位,这是 BigDecimal 的用法问题,请参考他的 javadoc, https://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html 例如
BigDecimal result = (BigDecimal) AviatorEvaluator.execute("10M/3M");
System.out.println(result.setScale(2, RoundingMode.HALF_EVEN));
aviator 里的高精度计算都是基于 java 的 BigDecimal 实现。
AviatorEvaluator.execute("10M/3M") 计算后为数值类型,作为中间值,如何保留精度,比如2位小数,20 位小数 MathContext类调整的是小数的长度,并非精度