【发布时间】:2012-11-16 06:38:16
【问题描述】:
我有一个通过 ajax 读取数字的应用程序,该数字是十六进制的,我对其进行解析并转换为十进制。
这些数字是通过无线串行链路输入的,并不是 100% 可靠的,所以我需要在开始处理数据之前检查它们。例如,数字采用****025781610403e5**** 的形式。 **** 只是检查我过去在非基于 Web 的项目中使用的数字的开始和结束的一种方式,并且可以更改。
最后我的问题是:作为错误检查的一部分,我想我会检查 NaN,因为我在测试时确实遇到了 NaN 错误,但是 *1234 给出了一个肯定的 NaN 12**34 没有,为什么那?我还能做些什么来测试?
这是我使用的一些代码,请注意我对 javascript 相当陌生。
function readSliceConvert()
{
functionReadForm()
testVal = hexString.slice(4,18);
document.getElementById("battDb4").innerHTML=testVal;
testNum1 = h2d(testVal)
document.getElementById("battDb5").innerHTML=testNum1.toString();
testNum2 = parseInt(testVal);
document.getElementById("battDb6").innerHTML=testNum2.toString();
if (isNaN(testNum2))
{
errorCount++;
document.getElementById("battDb3").innerHTML=errorCount.toString();
document.getElementById("battDb4").innerHTML=testVal;
return;
}
}
【问题讨论】:
-
isNaN('12**34') === true&isNaN('*1234') === true -
isNaN('12**34');返回 true,您还有其他问题。
标签: javascript nan