VB中IsNumeric 函式
返回Boolean值,指出表達式的運算結果是否為數字。
語法IsNumeric(expression)
必要的expression 參數是一個 Variant,包含數值表達式或字元串表達式。
說明 如果整個 expression 的運算結果為數字,則 IsNumeric 返回 True;否則返回 False。如果 expression 是日期表達式,則 IsNumeric 返回 False。
例如:Dim Check,Var
Var=25.6
Check=IsNumeric(Var) ' 返回 True。
使用該函式時候應該注意這樣一些問題:
舉例:
"123"
"123.1"
"123,,,,111.222,,,333"
"123,,,1.22,,,3"
"123e+9"
"123d-8"
以上返回的都是True
第1、2條很正常,
第三條有西文的",",可以理解:外國人習慣把數字隔3個加個逗號。
第四條中文的","也可以,可要注意:
CInt("12,,3")可以得到123
cint("12,,3")就出錯了
第四第五條,裡面有"e","d","+","-",應該不是數字,但是這裡是科學計數法。所以當是數字。
IsNumeric在編程開發中的注意事項
VBS中,IsNumeric()函式的實際作用是判斷參數表達式是否是數值,而這個所謂的“數值”不僅僅包含普通的數字,還包括(但可能不限於)如下情況:
科學計數法表達式,如“2e7”和“2d7”;
十六進制數,如“&H0A”;
八進制數,如“&6”;
當前區域下設定的貨幣金額表達式,如“¥12.44”;
加圓括弧的數字,如“(34)”;
顯式指定正負的數字,如“+2.1”和“-2.1”;
含有逗號的數字字元串,如“12,25”。
相關基礎知識
表達式關鍵字、運算符、變數、字元串常數、數字或對象的組合。表達式可用來執行運算、操作字元或測試數據。
參數傳遞給一個過程的常數、變數或表達式。
Variant 數據類型一種特殊的數據類型,可以包含數值、字元串或日期數據,還包含自定義類型和特殊數值 Empty和 Null。Variant 數據類型有 16 位元組的數值存儲大小,可以包含的數據可達 Decimal 的範圍,或 22- 位元組( 加上字元串長度 ) 的字元存儲大小,而且可存儲任何字元文本。VarType函式定義了如何處理 Variant 中的數據。對所有變數,如果沒有明確聲明它們是其它數據類型,則它們都變成 Variant數據類型。
數值表達式任何其值為數的表達式。表達式的元素可包含任何關鍵字、變數、常數和運算符的組合,其結果為數。
字元串表達式任何其值為一連串字元的表達式。字元串表達式的元素可包含返回字元串的函式、字元串文字、字元串常數、字元串變數、字元串 Variant 或返回字元串 Variant (VarType8) 的函式。
日期表達式任何可解釋成日期的表達式,包含日期文字、可看作日期的數字、可看作時間的字元串以及從函式返回的時間。日期表達式限於數字或字元串,可表示從1899 年 1 月 1 日到9999 年 12 月 31日的日期。
可將日期作為實數的一部分來存儲。小數點左邊的數值表示日期:小數點右邊的數值表示時間。負的數值表示在1899 年 12 月 30 日 之前。
Matlab函式isnumeric
函式名稱: isnumeric
函式功能: 判斷輸入參數是否是數字類型(包括浮點型和整型)
語法格式:
tf = isnumeric(A)
返回1(true)如果A是數字類型的, 返回0(false)如果A不是數字類型的.類型的。
相關函式: isa、islogical
套用舉例
>> char_arr = 'Hello';
>> isnumeric(char_arr)
ans =
0
>> fp_arr = [1.0, 2.1, 3.2];
>> isnumeric(fp_arr)
ans =
1
>> integer_arr = int32([1 2 3]);
>> isnumeric(integer_arr)
ans =
1
>> bool_ver = ISPC;
>> isnumeric(bool_ver)
ans =
0