Copie el código de código de la siguiente manera:
<SPAN style="FONT-SIZE: 18px">//Nota: El resultado de la suma de JavaScript tendrá errores, que serán más obvios al sumar dos números de punto flotante. Esta función devuelve un resultado de suma más preciso.
// Llamada: accAdd(arg1,arg2)
//Valor de retorno: el resultado exacto de arg1 más arg2
función agregar(arg1,arg2){
varr1,r2,m;
intente{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}
intente{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}
m=Math.pow(10,Math.max(r1,r2))
retorno (arg1*m+arg2*m)/m
}</SPAN>
Copie el código de código de la siguiente manera:
<SPAN estilo="TAMAÑO DE FUENTE: 18px">
// Nota: El resultado de la resta de JavaScript tendrá errores, que serán más obvios al sumar dos números de punto flotante. Esta función devuelve un resultado de resta más preciso.
// Llamada: accSub(arg1,arg2)
//Valor de retorno: el resultado exacto de arg1 menos arg2
función accSub(arg1,arg2){
return accAdd(arg1,-arg2);
}</SPAN>
Copie el código de código de la siguiente manera:
<SPAN estilo="TAMAÑO DE FUENTE: 18px">
// Nota: El resultado de la multiplicación de JavaScript tendrá errores, que serán más obvios cuando se multipliquen dos números de punto flotante. Esta función devuelve un resultado de multiplicación más preciso.
// Llamada: accMul(arg1,arg2)
//Valor de retorno: el resultado exacto de multiplicar arg1 por arg2
función acumulación(arg1,arg2)
{
var m=0,s1=arg1.toString(),s2=arg2.toString();
intente{m+=s1.split(".")[1].length}catch(e){}
intente{m+=s2.split(".")[1].length}catch(e){}
devolver Número(s1.replace(".",""))*Número(s2.replace(".",""))/Math.pow(10,m)
}</SPAN>
Copie el código de código de la siguiente manera:
<SPAN estilo="TAMAÑO DE FUENTE: 18px">
// Nota: El resultado de la división de JavaScript tendrá errores, que serán más obvios al dividir dos números de punto flotante. Esta función devuelve un resultado de división más preciso.
// Llamada: accDiv(arg1,arg2)
//Valor de retorno: el resultado exacto de dividir arg1 por arg2
función accDiv(arg1,arg2){
vart1=0,t2=0,r1,r2;
intente{t1=arg1.toString().split(".")[1].length}catch(e){}
intente{t2=arg2.toString().split(".")[1].length}catch(e){}
con(Matemáticas){
r1=Número(arg1.toString().replace(".",""))
r2=Número(arg2.toString().reemplazar(".",""))
devolver (r1/r2)*pow(10,t2-t1);
}
}</SPAN>