我有一个String,我想知道这String是一个数字,它也可能是一个负数
String test1 = "abcd"; // Here it must show is not a number
String test2 = "abcd-123"; // Here it must show is not a number
String test3 = "123"; // Here it must show is a number
String test4 = "-.12"; // Here it must show is a number
String test5 = "-123"; // Here it must show is a number
String test6 = "123.0; // Here it must show is a number
String test7 = "-123.00"; // Here it must show is a number
String test8 = "-123.15"; // Here it must show is a number
String test9 = "09"; // Here it must show is a number
String test10 = "0.0"; // Here it must show is a number
Run Code Online (Sandbox Code Playgroud)
我用StringUtils#isNumber和NumberUtils#isNumber,但不帮忙,负数,"09"显示为不是一个数字
你可以试试这个:
try {
double value = Double.parseDouble(test1);
if(value<0)
System.out.println(value + " is negative");
else
System.out.println(value + " is possitive");
} catch (NumberFormatException e) {
System.out.println("String "+ test1 + "is not a number");
}
Run Code Online (Sandbox Code Playgroud)