在VB中使用Trim函式,出現了一點小疑問
下面的代碼會發生例外:
if "" <> 12 then
xxxxx
end if
但是使用trim函式之后,就不會有例外,能正常進入到xxxxx邏輯
if trim("") <> 12 then
xxxxx
end if
是什么原理?Trim之后就可以和數字比較了呢?
同樣的代碼,在VB.NET環境下運行就會發生例外
請教各位前輩
uj5u.com熱心網友回復:
"" 應該是String型別的;Trim("")應該是Variant/String型別的;
"" <> 12 是字串和數字作比較,所以型別不匹配;
Trim("") <> 12 Trim("")的回傳值是Variant型別的變數,我認為它在比較的程序中會自從轉換為數字,相當于:
Val(Trim("")) <> 12 或者 Val("") <> 12,而 Val("") = 0,所以比較操作可以正確執行;
但是在VBS腳本中,Trim("") <> 12 仍會報錯: 型別不匹配;
這說明這塊VB編譯器和VBS編譯器的處理方式是不一樣的;
應當盡量避免不同型別的值或者變數進行比較和賦值等操作;
uj5u.com熱心網友回復:
感謝您回復。。。。。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/26891.html
標籤:VB基礎類
下一篇:VB6的文本框亂碼怎么解決?
