我以前曾经两次回答过这个问题,楼主请看这个帖子
http://community.csdn.net/Expert/topic/3439/3439985.xml?temp=.4362757

解决方案 »

  1.   

    浮点数运算的时候,必须先转化为二进制。例如数字105.01转化为二进制后是一个无限循环小数1101001.00 <00001010001111010111> .......<>里面是循环节,有无限多个,在计算机存储的时候只能舍入。所以浮点数运算一般是近似的。只要小数点后面的位数不大,可以手工移动小数点转化为整数。虽然浮点数运算有误差,但一般误差极微,采用四舍五入也可
      在有些情况下,没有这个问题,是因为:
      有些时候转化正好不是无限循环小数,或者是因为误差极小,在计算机显示的时候舍入(计算机显示的时候也要舍入,一般内部运算位数大于显示位数)掉了
      这种小概率事件,用的时间长了,哪种语言都会出现这种情况。除非有一种语言,运算位数和显示位数差距过大,这种误差总是在显示的时候被舍掉。
      

  2.   

    回复人: net_lover(孟子E章) ( ) 信誉:865  2005-01-07 08:01:00  得分: 0  
     
     
       脚本不适合做浮点运算的。