java 判断字符串是不是数字允许小数
时间: 2023-07-29 19:10:22 浏览: 51
可以使用 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。
相关问题
java 判断字符串是否是数字或者小数的方法
判断字符串是否为数字或小数也可以使用 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判断字符串是否为小数
以下是两种Java判断字符串是否为小数的方法:
1.使用正则表达式判断是否为小数,方法一:
```java
public static boolean isNumeric(String str){
Pattern pattern = Pattern.compile("[0-9]*\\.?[0-9]+"); Matcher isNum = pattern.matcher(str);
if (!isNum.matches()) {
return false;
}
return true;
}
```
2.使用正则表达式判断是否为小数,方法二:
```java
public static boolean isNumeric(String str){
Pattern pattern = Pattern.compile("[0-9]*");
if(str.indexOf(".") > 0){//判断是否有小数点
if(str.indexOf(".") == str.lastIndexOf(".") && str.split("\\.").length == 2){//判断是否只有一个小数点
return pattern.matcher(str.replace(".","")).matches();
}else {
return false;
}
}else {
return pattern.matcher(str).matches(); }
}
```