VBA代码大全036:如何用vba返回数值的整数部分?

有时候我们在vba代码中要返回任意一个数的整数部分。

比如数值1.23的整数部分为1,5.67的整数部分为5。

一个数值的整数部分就是将该数值的小数部分去除,不进行四舍五入。

vba中提供了一个内置的int函数可以方便的实现这个目的。

代码如下:

Sub QQ1722187970()
    Dim i As Integer
    i = VBA.Int(5.64)
    MsgBox i
End Sub

但是如果是一个负数,int函数返回的是小于等于该数值的第一个整数。

比如-5.64,用Int(-5.64)返回的是-6。

如果要返回-5,则需要使用另外一个内置的Fix函数,如果都是正数,返回结果与int函数一样,如果是负数,则返回第一个大于等于该数值的整数。代码如下:

Sub QQ1722187970()
    Dim i As Integer
    i = VBA.Fix(-5.64)
    MsgBox i
End Sub

综上所述,如果要在vba中用代码返回任意一个数的整数部分,建议用fix函数。

 

       

发表评论