我是新來的經典asp,我所有的經驗都在c#.net和ColdFusion和php中。經典asp cint
不管怎麼說,這個網站我正在有這個代碼到處
)輸入If (CInt("0" & myVar) > 0) Then
myNewCar = CInt("0" & myVar)
End If
我不明白的是,爲什麼「0」被追加到VAR在CINT( ?我只是想念一些東西?這是一種安全的東西嗎?它有效嗎?
在旁註中,推薦任何經典的asp書籍?
我是新來的經典asp,我所有的經驗都在c#.net和ColdFusion和php中。經典asp cint
不管怎麼說,這個網站我正在有這個代碼到處
)輸入If (CInt("0" & myVar) > 0) Then
myNewCar = CInt("0" & myVar)
End If
我不明白的是,爲什麼「0」被追加到VAR在CINT( ?我只是想念一些東西?這是一種安全的東西嗎?它有效嗎?
在旁註中,推薦任何經典的asp書籍?
它是一個古老的黑客來處理空值。在空值上調用CInt會導致錯誤。但是,將字符串與空值連接會導致字符串,因此「0」&空返回「0」。這可以防止CInt在值爲空時出錯。
myVar可能是空,對象,空字符串或非數字。預先掛起的「0」保證你會得到一些有效整數無論如何退出。
CInt(空)返回0.嘗試連接一個沒有默認對象的「0」屬性會導致錯誤 – AnthonyWJones 2009-09-04 14:32:56
我的經典ASP有點生疏,但我相信這是一件安全的事情。例如,如果myVar沒有被定義,並且它試圖做一個CInt,那會導致一個錯誤。
如果顯式選項顯示代碼不會編譯,沒有Option Explict的情況下,一個未定義的變量會被動態地定義並賦值爲空,空值將CInt設置爲0。 – AnthonyWJones 2009-09-04 14:36:25
如果您CInt爲空值,您將收到錯誤。對於Cstr,情況並非如此
假設檢查myVar> 0基本上是空檢查。
myVar=cstr(myVar)
If (not length(myVar) = 0) Then
myNewCar = cint(myVar)
End If
所以myNewCar要麼是「」或價值,你永遠不會得到一個錯誤
這裏是有點好玩。添加sub不能( – 2018-02-05 00:58:44
)添加sub cint(Val)cint = clng(Val)end sub。對不起早期文章 – 2018-02-05 01:00:00