我对IsNaN有一点问题。当数字' 0 '被传递给它时,它会触发为true,而不是预期的false。
我正在从字符串解析一个数字,使用parseFloat将其转换为浮点数:
let val = parseFloat(value.substring(value.indexOf(";")+1, value.lastIndexOf(";")));
然后将'val'存储在数组中这工作得很好,并按预期工作,然而,当我后来检查,以确保它实际上是一个数字与IsNAN,使用这行代码:let disval = (isNaN(val) || val== ")?"价值:Loading":"价值:";+ val;
这非常好,除非数字为零。如果数字是0,它使用它被设置为'Value: Loading'
我曾认为这可能是由于'0'也被认为是假的,但是isNaN的文档方式让我怀疑这有点
是我在这里做错了什么,还是我们的数据可能会被打乱
在js中,表达式0 == ""
的结果(令人惊讶)是true
。
这是因为""
被强制转换成一个数字,而Number("")
是0
当val
等于0
时就得到了加载状态