概述
出现问题的原因
计算机把小数转换成二级制,会出现无限循环的情况。再把无限循环的二级制转化成十进制的时候,变成了一个无限循环的数字。在处理双精度浮点数的小数部分最多支持 52 位,所以转换成十进制之后,就出现了很多位小数的存在。
解决办法
Vue.prototype.NumberMul = function(arg1, arg2) {
var m = 0;
var s1 = arg1.toString();
var s2 = arg2.toString();
try {
m += s1.split(".")[1].length;
} catch (e) {}
try {
m += s2.split(".")[1].length;
} catch (e) {}
return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m);
经过这样处理就没有了很多位数的小数。
原文链接 https://www.cnblogs.com/bushui/p/12150947.html
最后
以上就是忧郁发夹为你收集整理的Vue JS 的乘法精确计算问题,出现很多位小数的问题与原因的全部内容,希望文章能够帮你解决Vue JS 的乘法精确计算问题,出现很多位小数的问题与原因所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复