这篇文章将为大家详细讲解有关JavaScript中出现浮点溢出如何解决,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
JavaScript浮点溢出的两种解决方案
请运行以下代码,发现了什么。这就是JavaScript溢出问题。
<scripttypescripttype="text/javascript"> vara=38.8; varb=6.8; alert(a-b); vara=134.22; varb=6; alert(a*b); </script>
对于JavaScript溢出问题常见的有两种解决方案:
***个调用一个处理函数
functionoverflow(a,h,b) {if(a.toString().indexOf(".") <0&&b.toString().indexOf(".")<0){returneval(a+h+b); }varalen=a.toString().split(".");if(alen.length==1){ alen=0;}else{alenalen=alen[1].length; }varblen=b.toString().split(".");if(blen.length==1){ blen=0;}else{ blenblen=blen[1].length;}if(blen>alen)alen=blen;blen="1"; for(;alen>0;alen--){blenblen=blen+"0"; }switch(h){case"+":return(a*blen+b*blen)/blen; break;case"-":return(a*blen-b*blen)/blen; break;case"*":return((a*blen)*(b*blen))/(blen*blen); break;default:return0;}}
第二个使用toFixed方法返回一个以定点表示法表示的数字的字符串形式
再运行以下代码看看
<scripttypescripttype="text/javascript"> vara=38.8; varb=6.8; alert(overflow(a,"-",b)); vara=134.22; varb=6; alert((a*b).toFixed(2)); </script>
关于JavaScript中出现浮点溢出如何解决就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。