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