当前位置:首页
开发技术指南» 文章正文
    引言:

 ·问一下    »显示摘要«
    摘要: try{ 数据库操作代码 } catch(_com_error e) { if(连接断开)//这儿怎样判断异常是因为“连接失败” 重新连接sql数据库 } 我使用str = (char*)e.description();时,返回的是“连接失败” ......
 ·求方法    »显示摘要«
    摘要: 我构造一个if((a-b)>0){a*15}+if((c-d)>0){c*d}字符串,接下来我需要处理得到:a*15+c*d 去掉if条件语句 我该怎么做! ......


100分一问题:javascript的浮点数运算,解决问题就立即给分

问题:  
  下面的运算为什么它不能是正确的运算呢?因为我要的是准确的数据,而不是要一个约等的!  
  (0.1-0.08)   ==   0.020000000000000004  
   
  我的运算中只是二位小数,但是是希望所有的小数也适用的方法!  
  除了把小数转换成整数运算完成后再还原回小数的方法来运算外,能否有更加方便的正确的方法,不能要四舍五入的方法!因为要是进行乘除时就会相差.  
   
  我希望有一个涵数什么的,比如转换成相同等级后它就不再出现约等的算法!

NO.1   作者: lfecnu

用vbscript吧:  
  <script   language="vbscript">  
  function   test()  
    dim   a1,a2  
    a1=0.1  
    a2=0.08  
    msgbox   a1-a2  
  end   function  
  </script>

NO.2   作者: cxz7531

浮点数运算肯定有误差,原则上只能把小数转换成整数运算完成后再还原回小数。或者借助字符串过渡。

NO.3   作者: Fanxr

在结果中加上转换,定义小数位数。

NO.4   作者: hbhbhbhbhb1021

double型和float型都这样的,这是他存储时候的问题  
  你自己也说了方法了  
  你怕有偏差  
  就在运算前把所有数字全部乘以100他转换成整数,最后再除以100.00就可以了

NO.5   作者: cxz7531

to     hbhbhbhbhb1021(天外水火)   (    
  ---------------  
  “运算前把所有数字全部乘以100他转换成整数,最后再除以100.00”也是不行的,因为乘100、除100本身就是浮点运算,也会出误差。应该把“乘100、除100”的工作用字符串解析来代替,解析完毕再转换为整数,进行运算,运算完的结果用字符串解析的方式加上小数点,返回  
 


 ·如何动态的创建一个组件    »显示摘要«
    摘要: 如何动态的创建一个组件,如idmappedporttcp ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE