首页
科技
登录
6mi
u
盘
搜
搜 索
科技
js浮点数加减乘除精度不准确
js浮点数加减乘除精度不准确
it
2022-05-09
34
做个记录,以备不时之需
//加法
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){}
r1=
Number(
this.toString().replace(
".",
"")) r2=
Number(arg.toString().replace(
".",
""))
return (r1/r2)*Math.pow(
10,t2-t1); }
转载于:https://www.cnblogs.com/fancyLee/p/9601037.html
相关资源:JS浮点数运算结果不精确的Bug解决
转载请注明原文地址: https://win8.8miu.com/read-1486526.html
专利
最新回复
(
0
)