我目前在Fortran中運行一個計算模型。在計算過程中,有時我得到了「NaN」,「Infinity」和大於雙精度的數字(顯示爲**************)。我需要檢測它們。我可以用下面的命令檢測「NaN」。在Fortran中處理NaN,Infinity和大於雙精度的數字?
if(isnan(result))then
continue = .false.
else
continue = .true.
endif
我不知道如何檢測「Infinity」和「************」(數字大於雙精度)。
我該怎麼做?
星號並不意味着數字「大於雙精度」,而是它們在打印時溢出格式說明符。這可以例如如果僅使用一個字符打印一個兩位數的整數,則會發生。 –
你有一個支持'ieee_ *'內部模塊的編譯器嗎? – francescalus
[有沒有一種標準的方法來檢查Fortran 90/95中的Infinite和NaN?](http://stackoverflow.com/questions/17389958/is-there-a-standard-way-to-check- for-infinite-and-nan-in-fortran-90-95) –