2012-05-25 65 views
5

我想讓用戶編輯帶有雙重數據的字段。我想允許Double.NaN(使值無效)。有沒有從方法Double.valueOf(String)解析到Double.NaN而不在後臺檢查它的通用方法(預定義的字符串)?將字符串解析爲Double.NaN

有一個特殊的字符,看起來像一個鑽石,它有一個問號(用HTML表示),像NaN一樣,但是 - 用戶不會在他們的鍵上找到它。

回答

8

您可以通過+NaN-NaNNaNvalueOf()並讓它返回一個NaN。 documentation給出了完整的細節。

+0

好這樣的作品,而不是我的特殊情況。我應該提到我使用Groovy/Grails將它從HTML Form數據解析爲double。它說這是一個「不可解析的數字」,並退出IllegalArgumentException。也許調用另一種方法來轉換屬性... – matcauthon

+0

這不是你問的問題。你問過'Double.valueOf'。聽起來你需要一個新的問題。 –

+1

我以爲轉換過程本身調用Double.valueOf(String),因此是一個普通的Java相關的東西,但顯然它不是。它很難調試並找到真正被稱爲的東西。我爲那個不清楚的問題感到抱歉! – matcauthon

1

parseDouble("NaN")將返回NaN值:

System.out.println(Double.isNaN(Double.parseDouble("NaN"));