如2.3或2.8都等于3

解决方案 »

  1.   

    function GetNextInt(a as double)as long
      dim i as long
      i=int(a)
      if a>i then
         GetNextInt=i+1
      else
         GetNextInt=i
      end if
    end function
      

  2.   

    加0.5再四舍五入
    示例:
    a=2.3
    msgbox Round(a+0.5)
    a=2.8
    msgbox Round(a+0.5)
      

  3.   

    试试
    round(2.5) = 2
    round(3.5) = 4
    先判断下是不是整数,如是试试fix或int
    不是先fix/int,再+1
      

  4.   

    非正数就进位?那试试:function CLong(pValue as double) as long
        CLong=int(pValue)-(pValue<>int(pvalue))
    end function
      

  5.   


    int(2.3+0.7)
    int(2.8+0.7)
      

  6.   


    'Int 和 Fix 函数都移除 Number 的小数部分并返回得到的整数值。'Int 和 Fix 函数之间的区别在于:如果 Number 为负,则 Int 返回小于或等于 Number 的第一个负整数,
    '而 Fix 返回大于或等于 Number 的第一个负整数。例如,Int 将 -8.4 转换成 -9,而 Fix 将 -8.4 转
    '换成 -8。'
    Int(a)
    '
    Fix(a)
    '看好你需要哪一种。
      

  7.   

    我是这样解决的,和2楼方法一样
    IF(A1>INT(A1),INT(A1)+1,INT(A1))