我对经典asp失败的IsNumeric函数有一个非常奇怪的问题。这样的事情发生在我的代码中:
Response.write Score // 79.617
Response.write IsNumeric(Score) // false
Response.write IsNumeric("79.617") // true
有谁知道为什么会发生这种情况?
在规范中,据说这些函数适用于可以转换为数字的字符串,从上面的例子可以看出我得到“真实”的结果。但是什么可能导致我的问题?
答案 0 :(得分:10)
这意味着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()
函数。