0.0/0.0的問題

    衆所周知在java中如果除數爲0,則會拋出

    但是如果除數爲0.0呢?代碼如下:

    結果:NaN(Not a Number)

 

    原因如下:

    double類型的0.0 != 0,這點一定要注意了,也就是說0.0不是0,可能是0.00000000000000001。所以不會出現異常。
而0.0具體是多少,誰也不知道,是由虛擬機運行時在某一個誤差範圍內隨即產生的。所以每次運行時候你得到的i的結果都不一樣。

    0.0/0.0 這個在浮點數中稱 NaN,這數有個特點就是 NaN != NaN 。

 

    同理,如果用2/0.0,由於0.0是非常小的一個小數,作爲除數時,相當於用2乘以一個非常大的數,故結果爲Infinity。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章