java 判断字符串是否是数字或者小数的方法
时间: 2023-11-10 20:19:24 浏览: 274
判断字符串是否为数字或小数也可以使用 Java 中的正则表达式来实现。以下是一个示例代码:
```java
public static boolean isNumeric(String str) {
// 判断字符串是否为空或长度为0
if (str == null || str.length() == 0) {
return false;
}
// 利用正则表达式判断是否为数字或小数
Pattern pattern = Pattern.compile("^(-?\\d+)(\\.\\d+)?$");
return pattern.matcher(str).matches();
}
```
这个方法中,首先判断了字符串是否为空或长度为0,如果是则直接返回false。接着使用正则表达式`^(-?\\d+)(\\.\\d+)?$`来判断字符串是否由数字字符或小数组成,如果是则返回true,否则返回false。其中,正则表达式的含义如下:
- `^`表示匹配字符串的开始
- `(-?\\d+)`表示匹配一个数字,可能有一个负号(`-`)
- `(\\.\\d+)?`表示可选的小数部分,其中`\\.`表示匹配小数点,`\\d+`表示匹配一个或多个数字
- `$`表示匹配字符串的结束
因此,该正则表达式可以匹配数字和小数。
相关问题
java判断字符串是否为数字(包含小数负数)
可以使用正则表达式进行判断,以下是判断字符串是否为数字的示例代码:
```
public static boolean isNumber(String str) {
if (str == null || str.length() == 0) {
return false;
}
String pattern = "^[-+]?\\d+(\\.\\d+)?$";
return str.matches(pattern);
}
```
使用示例:
```
System.out.println(isNumber("123")); // true
System.out.println(isNumber("-123")); // true
System.out.println(isNumber("123.45")); // true
System.out.println(isNumber("-123.45")); // true
System.out.println(isNumber("abc")); // false
System.out.println(isNumber("123a")); // false
```
java 判断字符串是不是数字允许小数
可以使用 Java 中的正则表达式来判断一个字符串是否为数字,包括整数和小数。下面是一个示例代码:
```java
public static boolean isNumeric(String str) {
if (str == null || str.length() == 0) {
return false;
}
// 小数的正则表达式
String regex = "^\\d+(\\.\\d+)?$";
return str.matches(regex);
}
```
在上面的代码中,使用了正则表达式 "^\\d+(\\.\\d+)?$" 来匹配数字字符串,其中:
- "^" 表示以什么开头;
- "\\d+" 表示一个或多个数字;
- "(\\.\\d+)?" 表示匹配小数点和至少一个数字,问号表示小数部分可以有也可以没有;
- "$" 表示以什么结尾。
如果字符串与正则表达式匹配,则返回 true,否则返回 false。
阅读全文