?int(0.29*100)
28?0.29*100
29?cint(0.29*100)
29为什么 int(0.29*100) 不是得到 29 ???

解决方案 »

  1.   

    ●Int。
        以数学线性来讲,Int会取一个具有小数的数值右方的整数
        2             1      0.4  0            -1
        +----------+------+---+----------+
               Int取0.4右方的整数 0 ●CInt。
        小数转整数,采四舍五入的方式计算。
      

  2.   

    我知道原因了,如果这样:dim a as Integer
    a=0.29*100?int(a)
    29也就是说 0.29*100 必须显式声明为整型,否则当作变体计算。
    可能vb内有另一种方式处理变体,造成问题出现。