Ce billet de blog résout un problème similaire à celui-ci : 12,64-0,35 = 12,90000000000001 Normalement, cela devrait être 12,29
Aller directement au code arg2 est le nombre à soustraire
calculate(arg1, arg2) {
var re1, re2, m, n;
try {
re1 = arg1.toString().split(".")[1].length;
} catch (e) {
re1 = 0;
}
try {
re2 = arg2.toString().split(".")[1].length;
} catch (e) {
re2 = 0;
}
m = Math.pow(10, Math.max(re1, re2));
n = re1 >= re2 ? re1 : re2;
return ((arg1 * m - arg2 * m) / m).toFixed(n);
},
Vous pouvez appeler directement l'affectation de fonction
this.price = this.calculate(charge, user)
Vous pouvez également utiliser
{
{calculate(charge, user)}} comme ceci
Résumé : J'ai oublié le principe spécifique. Je l'ai rencontré dans le projet précédent et j'ai utilisé cette méthode pour résoudre ce projet. J'ai rencontré à nouveau ce problème et il a été publié à partir du projet précédent. Si vous souhaitez connaître le principe, veuillez rechercher Baidu . J'ai la flemme d'expliquer les points principaux. Dommage