Int、Fix 函数 (Visual Basic)

更新:2007 年 11 月

返回数字的整数部分。

Public Shared Function Int( _
    ByVal Number As { Double | Integer | Long | Object | Short | Single | Decimal }) _
    As { Double | Integer | Long | Object | Short | Single | Decimal }
Public Shared Function Fix( _
    ByVal Number As { Double | Integer | Long | Object | Short | Single | Decimal }) _
    As { Double | Integer | Long | Object | Short | Single | Decimal }

参数

  • Number
    必选。Double 类型的数字或任何有效的数值表达式。如果 Number 包含 Nothing,则返回 Nothing。

异常

异常类型

错误号

条件

ArgumentNullException

5

Number 未指定。

ArgumentException

5

Number 不是 Numeric 类型。

如果正在升级使用无结构错误处理的 Visual Basic 6.0 应用程序,请参见“错误号”一列。(您可以根据 Number 属性(Err 对象)比较错误号。)然而,如果可能,应当考虑用 Visual Basic 的结构化异常处理概述替换这种错误控制。

备注

Int 和 Fix 函数都移除 Number 的小数部分并返回得到的整数值。

Int 和 Fix 函数之间的区别在于:如果 Number 为负,则 Int 返回小于或等于 Number 的第一个负整数,而 Fix 返回大于或等于 Number 的第一个负整数。例如,Int 将 -8.4 转换成 -9,而 Fix 将 -8.4 转换成 -8。

Fix(number) 等效于 Sign(number) * Int(Abs(number)).

示例

本示例演示了 Int 和 Fix 函数如何返回数字的整数部分。对于负数参数的情况,Int 函数返回小于或等于该数字的第一个负整数,而 Fix 函数返回大于或等于该数字的第一个负整数。下面的示例要求您指定 Option Strict Off,因为从类型 Double 到类型 Integer 的隐式转换在 Option Strict On 下不允许:

' This code requires Option Strict Off
Dim MyNumber As Integer
MyNumber = Int(99.8)   ' Returns 99.
MyNumber = Fix(99.8)   ' Returns 99.

MyNumber = Int(-99.8)  ' Returns -100.
MyNumber = Fix(-99.8)  ' Returns -99.

MyNumber = Int(-99.2)  ' Returns -100.
MyNumber = Fix(-99.2)  ' Returns -99.

在 Option Strict Off 的情况下,可以使用 CInt 函数将其他数据类型显式转换为类型 Integer。但是,CInt 并非截去数字的小数部分,而是舍入为最接近的整数。例如:

MyNumber = CInt(99.8)    ' Returns 100.
MyNumber = CInt(-99.8)   ' Returns -100.
MyNumber = CInt(-99.2)   ' Returns -99.

可以先调用 Fix 或 Int,然后对调用后的结果使用 CInt 函数,以便在显式转换为整数时不四舍五入。例如:

MyNumber = CInt(Fix(99.8))   ' Returns 99.
MyNumber = CInt(Int(99.8))   ' Returns 99.

有关 CInt 的更多信息,请参见类型转换函数

要求

命名空间:Microsoft.VisualBasic

**模块:**Conversion

**程序集:**Visual Basic 运行库(在 Microsoft.VisualBasic.dll 中)

请参见

参考

类型转换函数

Integer 数据类型 (Visual Basic)

数学摘要

数学函数 (Visual Basic)

转换摘要

ArgumentNullException