DotNet的一個奇怪問題:IsNumeric
作者:wbc 日期:2009-04-03
話說以下代碼應該很合理,也符合邏輯:
- If IsNumeric(xml.SelectSingleNode("//itemlist/pointer/x").InnerText) Then
- poniterX= CInt(xml.SelectSingleNode("//itemlist/pointer/x").InnerText)
- End If
但導致bug 的就是上面這段代碼的 pointerX賦值這句:
提示錯誤是 arithmetic error overflow (something like that)
(實際數據內的數字沒可能超過1萬)
msgbox一看,發現xml.SelectSingleNode("//itemlist/pointer/x").InnerText的值是"NaN"...Not a Number....
但IsNumeric 卻是True...是否有點自相矛盾?
剛剛再一輪測試,
- IsNumeric ("NaN") False
- IsNumeric(xml.SelectSingleNode("//itemlist/pointer/x").InnerText) True
- IsNumeric(xml.SelectSingleNode("//itemlist/pointer/x").InnerText.ToString()) False
奇怪了。。。
.InnerText的Type根本就是String...
還硬要再轉一次?...
評論: 0 | 引用: 0 | 查看次數: 1941
發表評論
訂閱
上一篇
下一篇
文章來自:
日志標簽: 







