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。
异常
异常类型 |
错误号 |
条件 |
---|---|---|
Number 未指定。 |
||
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 的更多信息,请参见类型转换函数。
要求
**模块:**Conversion
**程序集:**Visual Basic 运行库(在 Microsoft.VisualBasic.dll 中)