Copie o código do código da seguinte forma:
<SPAN style="FONT-SIZE: 18px">//Nota: O resultado da adição do JavaScript terá erros, que serão mais óbvios ao adicionar dois números de ponto flutuante. Esta função retorna um resultado de adição mais preciso.
//Chama: accAdd(arg1,arg2)
//Valor de retorno: o resultado exato de arg1 mais arg2
função accAdd(arg1,arg2){
var r1,r2,m;
tente{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}
tente{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}
m=Math.pow(10,Math.max(r1,r2))
retornar (arg1*m+arg2*m)/m
}</SPAN>
Copie o código do código da seguinte forma:
<SPAN style="FONT-SIZE: 18px">
//Nota: O resultado da subtração do JavaScript terá erros, que serão mais óbvios ao adicionar dois números de ponto flutuante. Esta função retorna um resultado de subtração mais preciso.
//Chama: accSub(arg1,arg2)
//Valor de retorno: o resultado exato de arg1 menos arg2
função accSub(arg1,arg2){
return accAdd(arg1,-arg2);
}</SPAN>
Copie o código do código da seguinte forma:
<SPAN style="FONT-SIZE: 18px">
//Nota: O resultado da multiplicação do JavaScript terá erros, que serão mais óbvios quando dois números de ponto flutuante forem multiplicados. Esta função retorna um resultado de multiplicação mais preciso.
//Chamada: accMul(arg1,arg2)
//Valor de retorno: o resultado exato da multiplicação de arg1 por arg2
função accMul(arg1,arg2)
{
var m=0,s1=arg1.toString(),s2=arg2.toString();
tente{m+=s1.split(".")[1].length}catch(e){}
tente{m+=s2.split(".")[1].length}catch(e){}
retornar Número(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m)
}</SPAN>
Copie o código do código da seguinte forma:
<SPAN style="FONT-SIZE: 18px">
//Nota: O resultado da divisão do JavaScript terá erros, que serão mais óbvios ao dividir dois números de ponto flutuante. Esta função retorna um resultado de divisão mais preciso.
//Chamada: accDiv(arg1,arg2)
//Valor de retorno: o resultado exato da divisão de arg1 por arg2
função accDiv(arg1,arg2){
var t1=0,t2=0,r1,r2;
tente{t1=arg1.toString().split(".")[1].length}catch(e){}
tente{t2=arg2.toString().split(".")[1].length}catch(e){}
com(Matemática){
r1=Número(arg1.toString().replace(".",""))
r2=Número(arg2.toString().replace(".",""))
retornar (r1/r2)*pow(10,t2-t1);
}
}</SPAN>