8

古典的なASPの失敗でIsNumeric関数に非常に奇妙な問題があります。私のコードでは、次のようなことが起こります。

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

なぜこれが起こるのか誰にも分かりましたか?

仕様では、関数は数値に変換できる文字列で機能すると言われています。上記の例から、「真の」結果が得られることがわかります。しかし、何が私の問題を引き起こす可能性がありますか?

4

1 に答える 1

11

これ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)

Null以外のCStr()ものを文字列に変換し、データベースからのNullを処理するために、IsNull()関数があります。

于 2012-08-20T14:29:09.770 に答える