The Fake Geek's blog: Check if a string is a number
A very simple question. I use the traditional check-every-character way.
^: beginning of the string
(-)? the hyphen appear one or no times
\d: digits
(\\.): the period appears one or no times
Read full article from The Fake Geek's blog: Check if a string is a number
A very simple question. I use the traditional check-every-character way.
1. if the character is '-' but is not at the beginning of the string, return false;
2. else if there are more than one dots in the string, return false;
3. else if other characters are not digits, return false.
public
boolean isNumber(String s)
{
if
(s ==
null
|| s.length() == 0)
return
false
;
int
dot = 0;
for
(
int
i = 0; i < s.length(); i++)
{
if
(s.charAt(i) ==
'-'
)
{
if
(i != 0)
//System.out.println("-");
return
false
;
}
else
if
(s.charAt(i) ==
'.'
)
{
if
(dot > 0 || i == 0 || i == s.length() - 1)
{
//System.out.println("*");
return
false
;
}
dot++;
}
else
if
(!Character.isDigit(s.charAt(i)))
{
//System.out.println(i + "isDigit");
return
false
;
}
}
return
true
;
}
public boolean isNumber2(String str) { if (str== null ) return false ; return str.split( "(^-)?\\d+(\\.)*\\d*" ).length == 0; } |
(-)? the hyphen appear one or no times
\d: digits
(\\.): the period appears one or no times
Read full article from The Fake Geek's blog: Check if a string is a number