我已经编写了一个程序,用于在计算后打印一个矩阵,并且我得到了所有元素的输出为nan
。只要矩阵的第一个元素变成nan
以便理解问题,我想打破for
循环。我怎样才能做到这一点?在终端中,我打印了包含nan
的矩阵a
作为所有元素并键入a[1][1]=="nan"
和a[{{1},{1}}]=="nan"
,两者都返回false
。他们为什么不返回false
,我应该用什么声明呢?Lua检查数值/值是否为
2
A
回答
6
您的测试失败,因为您正在比较数字与字符串"nan"
。
如果您确信这是一个数字,最简单的方法是:
if a[1][1] ~= a[1][1] then
因为根据IEEE 754,nan
值被认为不等于任何值,包括它自己。
0
尝试这种情况:
for x = 1, x2 do -- x2 depends on how big you matrix is.
for y = 1, y2 do -- y2 the same as x2
-- some code depending on how your program works
if a[x][y] == nan then
print("X:" .. x .. ", Y:" .. y)
break
end
end
end
PS:(楠==楠)为真
+0
您的回答不正确。变量“nan”没有在Lua中定义,因此它将评估为(nil)。 (nil == nil)确实如此。但是,(0/0 == 0/0)是错误的! – joshuahhh
相关问题
- 1. 如何检查Lua中的值是否为空?
- 2. 检查double值是否为整数Swift
- 3. 检查值是否为10的倍数
- 4. 检查值是否为数字
- 5. 检查数组值是否为空
- 6. 检查值是否为整数(Objective-C)
- 7. 如何检查Lua中的两个值是否基本相等?
- 8. Lua-测试两个值是否为真
- 9. 检查值select2是否为空
- 10. 检查是否美丽soup.find_all值为空
- 11. 检查是否GET值为null
- 12. 检查$ _POST-值是否为空
- 13. FreeMarker:检查地图值是否为空
- 14. 如何检查值是否为1.#INF0000?
- 15. 检查是否为datetimepicker输入值?
- 16. 检查是否JSON值为空
- 17. 检查列值是否为Numeric。 SSIS
- 18. Java检查布尔值是否为空
- 19. 检查对象属性值是否为
- 20. 如何检查DataReader值是否为空?
- 21. 检查是否有空值
- 22. 检查值是否存在
- 23. 检查Html.ValidationSummary()是否有值
- 24. 如何检查ruby值是否为非负值浮动值?
- 25. 检查是否存在,是否存在,是否为某个值
- 26. 检查值是否在数据帧中
- 27. PHP检查数组值是否唯一
- 28. chechbox检查是否值在数据库
- 29. 检查数组值是否存在
- 30. 检查数组中是否存在值
'本地函数isNaN(v)的返回类型(V)== “数量” 和v〜= V端' – siffiejoe
'本地函数isNaN(v)return tostring(v)== tostring(0/0)end' –
@EgorSkriptunoff - (0/0)会产生一个不同的字符串,即使它仍然是nan,因此返回false,即使true应该返回。 https://ideone.com/YoOljy – Rochet2