CLng 函式

傳回已轉換為子類型 Long 之變異的表示式。

語法

CLng(expression)

備註

表示式引數是任何有效的表示式。

使用 CLng 函式來提供從任何其他資料類型到 Long 子類型的國際感知轉換。例如,根據您系統的地區設定,可以正確識別不同的小數分隔符號,也可以正確識別不同的千位數分隔符號。

如果表示式超出 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。