Fix(12.1*10)
Fix(12.10*10)为什么以上得出的结果会不一样? 请高人指点~~~

解决方案 »

  1.   

    fix好象只是正负值时返回的有点怪。别的和int一样。
      

  2.   

    Fix(12.10*10)也会被 VB-IDE 格式化成 Fix(12.1 * 10) 啊,怎么会不一样?
      

  3.   

    按道理应该是一样的
    Int、Fix 函数
          返回参数的整数部分。语法Int(number)Fix(number)必要的 number 参数是 Double 或任何有效的数值表达式。如果 number 包含 Null,则返回 Null。说明Int 和 Fix 都会删除 number 的小数部份而返回剩下的整数。Int 和 Fix 的不同之处在于,如果 number 为负数,则 Int 返回小于或等于 number 的第一个负整数,而 Fix 则会返回大于或等于 number 的第一个负整数。例如,Int 将 -8.4 转换成 -9,而 Fix 将 -8.4 转换成 -8。Fix(number) μèóú£oSgn(number) * Int(Abs(number))
      

  4.   

    ?Fix(12.1*10)
     120 
    ?Fix(12.10*10)
     120 看不出有什么不一样。
      

  5.   

    试验,结果也是一样的
    Option ExplicitPrivate Sub Form_Load()
        Text1.Text = Fix(12.1 * 10)
        Text2.Text = Fix(12.1 * 10)
    End Sub
      

  6.   

    加了个cdbl(12.1 × 10, 就正常了!?