Java精确计算问题
在使用自动计算的时候经常会出现精确计算的情况如下图:
这种时候有俩种解决方案:
方案1:使用js对单元格的数据作运算,取到浮点数之后扩大相应倍数,再运算,得到的结果缩小相应倍数。代码如下(别的计算方法请参考http://www.yongzhi.info/2011/08/316.html):
<script language=”javascript”>
function FloatAdd(arg1,arg2){
var r1,r2,m;
try{r1=arg1.toString().split(“.”)[1].length}catch(e){r1=0}
try{r2=arg2.toString().split(“.”)[1].length}catch(e){r2=0}
m=Math.pow(10,Math.max(r1,r2))
return Math.round(arg1*m+arg2*m)/m
</script>
方案2:这个比较简单只需要给单元格弄个显示格式就可以了。