问题描述
计算误差率时,小数点后面精确度不对
例如
incConsumeAuto.subtract(iposetting).divide(iposetting,2,Biglecimal.ROUND._HALf_UP).mutiply(new BigDecimaL(100));
原因分析:
由于我们是先算的误差,保留两位小数后再乘的百分比,会导致精度不够导致运算错误
解决方案:
incConsumeAuto.subtract(iposetting).mutiply(new BigDecimaL(100)).divide(iposetting,2,Biglecimal.ROUND._HALf_UP);
先乘以百分比后再进行除法,这样保留小数点后两位更准确