uniapp 计算属性精度丢失 vue 精度丢失计算 计算属性小数点后精度丢失

此篇博文解决的是类似这样的问题:12.64-0.35=12.90000000000001 正常应该是12.29

直接上代码 arg2是被减的数

			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);
			},

可以直接这样调用函数赋值
this.price = this.calculate(charge, user)

也可以这样用
{ {calculate(charge, user)}}

总结:具体原理我也忘了 之前上个项目遇到过并且用这个方法解决了 这个项目又遇到这个问题也是从上个项目贴过来的 想知道原理的百度一下吧 我也懒的讲了 主要是太菜了

猜你喜欢

转载自blog.csdn.net/qq_47247479/article/details/126644562