IsNumeric函数无法正常工作

时间:2012-08-20 14:24:48

标签: asp-classic isnumeric

我对经典asp失败的IsNumeric函数有一个非常奇怪的问题。这样的事情发生在我的代码中:

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

有谁知道为什么会发生这种情况?

在规范中,据说这些函数适用于可以转换为数字的字符串,从上面的例子可以看出我得到“真实”的结果。但是什么可能导致我的问题?

1 个答案:

答案 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()函数。