J'avais l'habitude de trouver ce code sur Internet auparavant, mais dans des conditions spécifiques, la division et l'opération supplémentaire apparaîtront toujours.
Copier le code du code comme suit:
// sauf la méthode pour obtenir la méthode précise pour supprimer la méthode
// Description: Les résultats de JavaScript auront une erreur, et il sera évident lorsque les deux nombres de points flottants seront supprimés. Cette fonction renvoie un résultat de suppression plus précis.
// Appel: AccDiv (Arg1, Arg2)
// Valeur de retour: arg1 sauf les résultats précis de l'ARG2
Fonction accdiv (arg1, arg2) {{
var t1 = 0, t2 = 0, r1, r2;
essayez {t1 = arg1.toString ().
essayez {t2 = arg2.tostring ().
avec (math) {
R1 = nombre (arg1.toString (). Remplacer (".", ""))
r2 = nombre (arg2.ToString (). Remplacer (".", ""))
Retour accmul ((R1 / R2), POW (10, T2 -T1));
}
}
Copier le code du code comme suit:
// Fonction de multiplication pour obtenir des résultats de multiplication précis
// Description: Les résultats des résultats de la multiplication JavaScript auront une erreur, et il sera évident lorsque les deux nombres de points flottants seront multipliés. Cette fonction renvoie un résultat de multiplication plus précis.
// Appel: Accmul (Arg1, Arg2)
// Valeur de retour: Arg1 est multiplié par les résultats précis d'Arg2
Fonction accmul (arg1, arg2) {{{
varm m = 0, s1 = arg1.toString (), s2 = arg2.ToString ();
Try {m + = s1.split (".") [1] .length} catch (e) {}
Essayez {m + = s2.split (".") [1] .length} catch (e) {}
Numéro de retour (s1.replace (".", "") * Numéro (s2.replace (".", "") / Math.pow (10, m)
}
Copier le code du code comme suit:
// Ajouter une méthode pour calculer les solutions intermédiaires
Fonction acadd (arg1, arg2) {{
var r1, r2, m, c;
essayez {r1 = arg1.toString ().
essayez {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 = nombre (arg1.toString (). Remplace ("". "," ");
arg2 = nombre (arg2.ToString (). Remplace (".", "") * cm;
}
autre {
arg1 = nombre (arg1.toString (). Remplace (".", "") * cm;
Arg2 = nombre (arg2.ToString (). Remplace ("". "," ");
}
}
autre {
arg1 = nombre (arg1.toString (). Remplace ("". "," ");
Arg2 = nombre (arg2.ToString (). Remplace ("". "," ");
}
Retour accdiv ((arg1 + arg2), m); m);
}