2011-07-12 35 views
2

使用org.apache.commons.lang.math.NumberUtils.isNumber(String str)函數時,我看到傳遞一個字符串(如"1f")通過驗證,而傳遞"1a"失敗。在Commons中的數字驗證Lang

這裏允許什麼樣的字母表?

+1

1f(1.0 Float)是常規Java語言,1a不是。 – fyr

回答

2

the documentation來自:

有效數字的十六進制包括標有0x 限定符,科學記數法和數字標記有 類型限定符(例如,123L)。

1f指浮點數1.

+0

但是1a是一個有效的十六進制數。那麼爲什麼它失敗了? – Victor

+2

0x1a是十六進制需要0x(如果我沒有弄錯) – RMT

+0

0x1a不適用於我。 – Victor

2

1f走的是1作爲浮動。

"1a"將不被視爲一個十六進制值,因爲它需要在它前面的0x

例如: 「0x1a

3

躍躍欲試......

enter image description here

+1

我的工作日已經提高了十倍。 – alexcoco