2014-03-30 32 views

回答

3

添加一個可選的小數部分:

if (tokens[i].matches("[0-9]*([.][0-9]+)?")) 

使用星號,使整數部分可選。但是,這個表達式的問題現在可以匹配一個空字符串。一個更好的(但更長)表達式將匹配開始在一個單獨的子表達式小數點的字符串,如下所示:

if (tokens[i].matches("[0-9]+([.][0-9]+)?|[.][0-9]+")) 
+0

將這項工作,如果我想啓動帶小數的數字?還有什麼是「?」 for –

+0

@ user3427042將整數部分的'[0-9] +'(1或更多)更改爲'[0-9] *'(0或更多)。 – pickypg

+0

@ user3427042表達式之後的問號使前面的表達式成爲可選項。在這種情況下,'[。] [0-9] +'是可選的。 – dasblinkenlight

0

試試這個:

if (tokens[i].matches([0-9]+(\.[0-9][0-9]?)?) 
+0

這只是兩個小數點好。 PS:你錯過了報價。 – pickypg

相關問題