js浮点数的精确计算(加、减、乘、除)

js浮点数的精确计算(加、减、乘、除)
复制代码代码如下所示:
说明:Javascript添加结果会出现错误,当两个浮在一起时会更明显。这个函数返回更精确的加法结果。
/ /电话:accadd(arg1,arg2)
/ /返回值:ARG1加arg2准确的结果
功能accadd(arg1,arg2){
var,R2,m;
尝试{ R1 = arg1.tostring(Split()。{){ 1 } }长度捕获(e){ = 0 }
尝试{ R2 = arg2.tostring(Split()。{){ 1 } }长度捕获(e){ = 0 }
M = math.pow(10、Math.max(R1,R2))
返回(arg1 * M + 2×m)/ m
}

复制代码代码如下所示:
描述:当两个浮在一起时,会出现错误,这个函数返回一个更精确的减法的结果。
/ /电话:accsub(arg1,arg2)
/ /返回值:arg1 arg2还原准确的结果
功能accsub(arg1,arg2){
accadd(arg1,arg2返回-);
}

复制代码代码如下所示:
说明:当两个浮点乘法更为明显时,将出现错误,此函数返回更精确的乘法结果。
/ /电话:accmul(arg1,arg2)
/ /返回值:ARG1乘以2准确的结果
功能accmul(arg1,arg2)
{
var m = 0,S1,S2 = = arg1.tostring()()arg2.tostring;
尝试{ M + = s1.split(,){ 1 }。长度}赶上(e){ }
尝试{ M + = s2.split(,){ 1 }。长度}赶上(e){ }
回数(s1.replace(。
}

复制代码代码如下所示:
说明:Javascript /除法结果会出现错误,当两个浮点除法更为明显时,这个函数返回一个更精确的除法结果。
/ /电话:accdiv(arg1,arg2)
/ /返回值:准确的结果除以2 arg1
功能accdiv(arg1,arg2){
var t1 = 0,T2 = 0,R1,R2;
尝试{ T1 = arg1.tostring(。分)(。){ 1 }。长度}赶上(e){ }
尝试{ T2 = arg2.tostring(。分)(。){ 1 }。长度}赶上(e){ }
用(数学){
R1 =数(arg1.tostring()。更换(,
R2 =数(arg2.tostring()。更换(,
返回(R1和R2)* pow(10,T2-T1);
}
}
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部