我已經編寫了一個程序,用於在計算後打印一個矩陣,並且我得到了所有元素的輸出爲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