分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

js浮点数加减乘除精度不准确

发布时间:2023-09-06 02:13责任编辑:蔡小小关键词:js
做个记录,以备不时之需
//加法 ??????Number.prototype.add = function(arg){ ??????????var r1,r2,m; ??????????try{r1=this.toString().split(".")[1].length}catch(e){r1=0} ??????????try{r2=arg.toString().split(".")[1].length}catch(e){r2=0} ??????????m=Math.pow(10,Math.max(r1,r2)) ??????????return (this*m+arg*m)/m ??????} ?//减法 ??Number.prototype.sub = function (arg){ ??????return this.add(-arg); ??} ??//乘法 ??Number.prototype.mul = function (arg) ??{ ??????var m=0,s1=this.toString(),s2=arg.toString(); ??????try{m+=s1.split(".")[1].length}catch(e){} ??????try{m+=s2.split(".")[1].length}catch(e){} ??????return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m) ??} ??//除法 ??Number.prototype.div = function (arg){ ??????var t1=0,t2=0,r1,r2; ??????try{t1=this.toString().split(".")[1].length}catch(e){} ??????try{t2=arg.toString().split(".")[1].length}catch(e){} ??????with(Math){ ??????????r1=Number(this.toString().replace(".","")) ??????????r2=Number(arg.toString().replace(".","")) ??????????return (r1/r2)*pow(10,t2-t1); ??????} ??}

js浮点数加减乘除精度不准确

原文地址:https://www.cnblogs.com/fancyLee/p/9601037.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved