看起來這是真的在其他語言(see thread on C++),但沒有人知道爲什麼你不能覈對在斯威夫特的Double
結構的Double.NaN
或Double.quietNaN
性負平方根的結果呢?斯威夫特負平方根
下面是一些代碼,我在操場上跑步:
sqrt(-5.0) // (not a number)
Double.NaN // (not a number)
Double.quietNaN // (not a number)
Double.NaN == sqrt(-5.0) // false
Double.quietNaN == sqrt(-5.0) // false
看來,斯威夫特遊樂場印刷sqrt(-5.0)
,Double.NaN
,並且Double.quietNaN
具有相同的錯誤字符串,但它們有不同的方案表示。我無法弄清楚爲什麼會發生這種情況。有什麼想法嗎?
我搜索了「Swift Nan」,並找到了這個答案:http://stackoverflow.com/a/24351407/2079103 – clearlight
按照慣例,NaN比較false與任何其他值,包括NaN。 – 2015-04-07 00:26:40
不知道NaN比較其他任何東西,很高興知道。我沒有意識到Double符合FloatingPointNumber ...有點奇怪。謝謝! – egracer