本文向大家简单介绍一下JavaScript浮点溢出的两种解决方案,首先我们先运行一下一段代码,看有什么现象产生,再说一下如何解决此问题。

成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站建设、成都网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的霸州网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
JavaScript浮点溢出的两种解决方案
请运行以下代码,发现了什么。这就是JavaScript溢出问题。
- vara=38.8;
 - varb=6.8;
 - alert(a-b);
 - vara=134.22;
 - varb=6;
 - alert(a*b);
 
对于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方法返回一个以定点表示法表示的数字的字符串形式
再运行以下代码看看
- vara=38.8;
 - varb=6.8;
 - alert(overflow(a,"-",b));
 - vara=134.22;
 - varb=6;
 - alert((a*b).toFixed(2));
 
【编辑推荐】
Copyright © 2009-2022 www.wtcwzsj.com 青羊区广皓图文设计工作室(个体工商户) 版权所有 蜀ICP备19037934号