Number.prototype.toRound = function(d) { var s=this+"";if(!d)d=0; if(s.indexOf(".")==-1)s+=".";s+=new Array(d+1).join("0"); if (new RegExp("^(-|\\+)?(\\d+(\\.\\d{0,"+ (d+1) +"})?)\\d*$").test(s))…
之前在写项目时候,直接对带小数点的数据进行运算,发现所得到的值并不是自己想要的. 经过一系列学习后,发现在JavaScript中,浮点数运算都是先转换成二进制,在转成二进制的时候有出现无限循环小数,故之后的运算都出现了问题(这是基于IEEE754数值的浮点计算的通病). 因此,就翻阅了前公司的js工具库,找到一些用于运算的函数. // 加法 function accAdd(arg1,arg2){ var r1,r2,m; try{r1=arg1.toString().split("."…