题目:
Validate if a given string is numeric.
Some examples:
"0"
=> true
" 0.1 "
=> true
"abc"
=> false
"1 a"
=> false
"2e10"
=> true
Note: It is intended for the problem statement to be ambiguous. You should gather all requirements up front before implementing one.
思路:
正则表达式
package others; public class ValidNumber { public boolean isNumber(String s) { return s.matches("^\s*[+-]?(\d+|\d*\.\d+|\d+\.\d*)([eE][+-]?\d+)?\s*$"); } public static void main(String[] args) { // TODO Auto-generated method stub ValidNumber v = new ValidNumber(); System.out.println(v.isNumber("3.1")); System.out.println(v.isNumber("- 8.9")); System.out.println(v.isNumber("2.")); System.out.println(v.isNumber("abc")); System.out.println(v.isNumber("e10")); System.out.println(v.isNumber("5e10")); } }