JS中进行浮点数计算式,遇到的问题

今天在做项目时,需要在页面进行计算,但是当两个数都是小数时,计算的结果却不是想象中的:

比如1371.3-0.9算出来却是1370.39999999,后来上网搜一下,原来js是弱类型语言,没有那么高的精度计算,

所以使用下面方法解决:

render:function(data,type,full,meta) {
          var returnVal = '';
            var result = '';
            var chargedWeight = full.chargedWeight;
            var pieceNumber =full.pieceNumber;
            var m = Math.pow(10,2);
            if (pieceNumber == 0 && chargedWeight > 0) {
                result =full.transitWeightMoney - full.deductionMoney + full.subsidyTransitMoney;
            } else {
                result =full.transitMoney - full.deductionMoney + full.subsidyTransitMoney;
            }
            returnVal = result<10?result:parseInt(result*m,10)/m ; 
            return returnVal;
          
      }

 

posted @ 2018-07-05 10:49  MichaelKai  阅读(152)  评论(0编辑  收藏  举报