首页 > 编程知识 正文

bigdecimal加法运算,bigdecimal保留两位小数

时间:2023-05-05 13:50:06 阅读:147240 作者:1100

参考链接

3359 blog.csdn.net/weixin _ 45221930/article/details/105960699

//加法函数

功能性arg2,arg2var 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 ); 返回(arg1* marg2* m )/m; 将add方法添加到Number类型,以便在使用时保持. add状态完成计算。 number.prototype.add=function (arg ) returnaccadd ) arg,this ); (; 控制台. log (0.1.add ) 0.2 ).add (0.3 ); 0.1等效于0.2 0.3,输出0.6控制台. log (0. 10.20.3 ); //输出0.6000000000000000001//减法函数

函数subtr (arg 1,arg2) varR1,r2,m,n; 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 ); //动态控制精度长度n=(R1=R2 )? r1 : r2; return parsefloat (((arg1* m-arg2* m )/m ).toFixed(n ) n ); 在Number类型中添加sub方法,使用时保持. sub不变完成计算。 number.prototype.sub=function (arg ) returnsubtr ) this,arg ); (; 控制台. log (0.6.sub ) 0.2 ).sub ) 0.3 ); 0.6-0.2-0.3输出0.1 console.log (等效于0.6-0.2-0.3 ); //输出: 0.09999999999999998 //乘法函数

功能性arg2,arg2varm=0,s1=arg1.toString ),s2=arg2.toString ); try { m =s1.split ('.' ) [1].length; }catch(e ) ) try ) m=S2.split ) '.') [1].length; }catch(e ) ) returnnumber ) S1.replace ('.','') number (S2.replace ) '.',''') )/math.pow ) 10 number.prototype.mul=function (arg ) returnACCmul ) arg,this ); (; console.log(0.1.mul ) 0.2 ).mul (0.3 ); 0.1 * 0.2 * 0.3输出0.006 console.log (等效于0.1 * 0.2 * 0.3 ); //输出: 0.006000000000001//除法函数

functionACCdiv(arg1,arg2) varT1=0,t2=0,r1,r2; try { t1=arg1.toString ().split ) '.') [1].length; }catch(e ) ) try ) T2=arg2.tostring ).split ) '.') [1].length; }catch(e ) (with ) math ) ) R1=number ) arg1.tostring ) ).replace )、'.'、''); R2=number(arg2.tostring ) ).replace ('.',''); 返回(R1/R2 ) pow ) 10,t2 - t1 ); 将div方法添加到Number类型,并在使用时直接在. div中使用number.prototype.div=function (arg ) ) returnaccdiv (this,arg ); (; 控制台. log (0.6.div ) 0.2 ).div (0.1 ); 等效于0.6/0.2/0.1输出30console.log(0.6/0.2/0.1 ); //输出: 29.999999999999993 //四舍五入,保持指定的小数点后的位数arg取舍选择数n保持小数点后的位数

函数反馈(arg,n ) if (n0 )返回永久(returnparsefloat ) arg; }else{returnparsefloat(arg ).tofixed(n ) ) n; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。