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; }
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步