Solía encontrar este código en Internet antes, pero en condiciones específicas, la división y la operación adicional aún aparecerán.
Copiar código del código de la siguiente manera:
// excepto el método para obtener el método preciso para eliminar el método
// Descripción: Los resultados de JavaScript tendrán un error, y será obvio cuando se eliminen los dos números de punto flotante. Esta función devuelve un resultado de eliminación más preciso.
// Llamar: Accdiv (Arg1, Arg2)
// Valor de retorno: Arg1 excepto los resultados precisos de Arg2
Función accDiv (arg1, arg2) {{
var t1 = 0, t2 = 0, r1, r2;
Prueba {t1 = arg1.ToString ().
intente {t2 = arg2.toString ().
con (matemáticas) {
R1 = número (arg1.ToString (). Reemplazar (".", ""))
r2 = número (arg2.ToString (). reemplazar (".", ""))
Return accMul ((R1 / R2), POW (10, T2 -T1));
}
}
Copiar código del código de la siguiente manera:
// función de multiplicación para obtener resultados de multiplicación precisos
// Descripción: Los resultados de los resultados de multiplicación de JavaScript tendrán un error, y será obvio cuando se multiplicen los dos números de punto flotante. Esta función devuelve un resultado de multiplicación más preciso.
// Llamar: Accmul (Arg1, Arg2)
// Valor de retorno: Arg1 se multiplica por los resultados precisos de Arg2
Función accMul (arg1, arg2) {{
Varm m = 0, s1 = arg1.ToString (), s2 = arg2.ToString ();
Intente {m += s1.split (".") [1] .length} catch (e) {}
Prueba {m += s2.split (".") [1] .length} catch (e) {}
Número de retorno (S1.replace (".", "") * Número (S2.replace (".", "") / Math.Pow (10, M)
}
Copiar código del código de la siguiente manera:
// Agregar método para calcular soluciones intermedias
Función acadd (arg1, arg2) {{
var r1, r2, m, c;
intente {r1 = arg1.ToString ().
intente {r2 = arg2.toString ().
c = Math.abs (R1 -R2);
M = Math.Pow (10, Math.max (R1, R2)))
if (c> 0) {{
var cm = math.pow (10, c);
if (r1> r2) {
arg1 = número (arg1.ToString (). reemplazar ("". "," ");
arg2 = número (arg2.ToString (). reemplazar (".", "") * cm;
}
demás {
arg1 = número (arg1.ToString (). reemplazar ("." "") * cm;
arg2 = número (arg2.ToString (). reemplazar ("". "," ");
}
}
demás {
arg1 = número (arg1.ToString (). reemplazar ("". "," ");
arg2 = número (arg2.ToString (). reemplazar ("". "," ");
}
Return accDiv ((arg1 + arg2), m);
}