我要取一个数的整数,但不是四舍五入。只要有小数,就取大于这个数的整数,如
2.1 取 3
3.6 取 4
就是向上取整数,有这样的函数吗?

解决方案 »

  1.   

    a=2.1
    if fix(a)>a then
    b=fix(a)
    else
    b=fix(a)+1
    endif
      

  2.   

    Private Sub Form_Load()
         Dim A As Single
         Dim B As Long
         A = 2.1
         B = CLng(A + 0.9999999999)
         MsgBox B
    End Sub
      

  3.   

    a=2.1
    if fix(a)>=a then
    b=fix(a)
    else
    b=fix(a)+1
    endif
      

  4.   

    这种问题也能来问?
    if a<>cint(a) then
    a=a+1
    endif
    太简单了嘛
      

  5.   

    对不起,有点错误

    if a<>cint(a) then
    a=cint(a)+1
    endif
      

  6.   

    fishmans(金脚指):
    if a<>cint(a) then
    a=cint(a)+1
    endif
      同意
      

  7.   

    我就是想问有没有现成的函数嘛,为什么VB中没有CEILING函数呢?
      

  8.   

    这个应该可以了
    if a>fix(a)+0.5 then
    a=fix(a)+1
    else 
    a=fix(a)
    end if
      

  9.   

    czw1975(塞饭):
    round(a+0.5) 当a 为奇数时就不对
      

  10.   

    谢谢,原来我还真没注意vb的round是Banker's Rounding!
      

  11.   

    最近做报表,又想起了这个帖子:)
    format(a+0.4,"0")