La précision des propriétés calculées d'uniapp est perdue. La précision de Vue est perdue. La précision de ses propriétés calculées est perdue après la virgule décimale.

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

Guess you like

Origin blog.csdn.net/qq_47247479/article/details/126644562