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:这个比较简单只需要给单元格弄个显示格式就可以了。

热门文章