返回已转换为子类型 Long 的变体的一个表达式。
语法
CLng(expression)
注释
expression 参数是任何有效的表达式。
可使用 CLng 函数实现从任何其他数据类型到 Long 子类型的国际化转换。例如,根据系统的区域设置,可以正确识别不同的小数分隔符,也可以识别不同的千位分隔符。
如果 expression 超出 Long 子类型的可接受范围,则会出现错误。
以下示例使用 CLng 函数将值转换为 Long 子类型:
示例 1:
Dim MyVal1, MyVal2, MyLong1, MyLong2 MyVal1 = 25427.45: MyVal2 = 25427.55 ' MyVal1, MyVal2 are Doubles. MyLong1 = CLng(MyVal1) 'Output: 25427 MyLong2 = CLng(MyVal2) 'Output: 25428
示例 2:
Dim MyString, MyLong MyString = "123456.78" MyLong = CLng(MyString) 'Output: 123457
示例 3:
Dim MyLocaleString MyLocaleString = "12.345,67" ' Locale-specific decimal separator. MyLong = CLng(MyLocaleString) ' Convert to Long, interpreted based on locale. 'MyLong contains the correctly interpreted long value within locale settings
示例 4:
MyDouble = 2.6 MyLong = CLng(MyDouble) ' 2.6 rounds to 3. 'Output: 3
示例 5:
MyDouble = 2.4 MyLong = CLng(MyDouble) ' 2.4 rounds to 2. 'Output: 2
示例 6:
MyDouble = 1.5 MyLong = CLng(MyDouble) ' 1.5 rounds to 2 (nearest even number). 'Output: 2
示例 7:
MyDouble = 0.5 MyLong = CLng(MyDouble) ' 0.5 rounds to 0 (nearest even number). 'Output: 0
注:
CLng 与 Fix 和 Int 函数不同,后者截断而不是舍入数字的小数部分。当小数部分正好为 0.5 时,CLng 函数始终将其舍入到最接近的偶数。例如,将 0.5 舍入为 0,将 1.5 舍入为 2。