Asp-Classic

IsNumeric 函式無法正常工作

  • January 13, 2015

經典asp失敗中的IsNumeric函式有一個非常奇怪的問題。我的程式碼中發生了這樣的事情:

Response.write Score                // 79.617
Response.write IsNumeric(Score)     // false
Response.write IsNumeric("79.617")  // true

有沒有人知道為什麼會發生這種情況?

在規範中,據說這些函式適用於可以轉換為數字的字元串,從上面的範例中您可以看到我得到“真實”的結果。但是什麼會導致我的問題?

這意味著Score根本不是字元串,而是其他東西,很可能來自數據庫。

為了安全起見,請使用您自己的函式:

Function My_IsNumeric(value)
   My_IsNumeric = False
   If IsNull(value) Then Exit Function
   My_IsNumeric = IsNumeric(CStr(value))
End Function

Response.write My_IsNumeric(Score)

CStr()確保將除 Null 之外的任何內容轉換為字元串,並處理來自數據庫的 Null,您擁有該IsNull()功能。

引用自:https://stackoverflow.com/questions/12039485