java 校验String是否是小数
时间: 2024-03-02 10:48:16 浏览: 120
要校验一个字符串是否是小数,可以使用 Java 中的正则表达式。下面是一个示例代码,可以检查一个字符串是否是小数:
```java
String str = "3.14";
if (str.matches("-?[0-9]+(\\.[0-9]+)?")) {
System.out.println("str 是一个小数");
} else {
System.out.println("str 不是一个小数");
}
```
上面的代码中,我们使用了 matches() 函数来检查 str 是否匹配指定的正则表达式。这个正则表达式可以匹配一些数字,包括整数和小数。其中,-? 表示可选的负号,[0-9]+ 表示一位或多位数字,(\\.[0-9]+)? 表示可选的小数部分,其中第一个 \ 用来转义第二个 \,因为 \ 在 Java 中是一个转义字符。
如果 str 是一个小数,则会输出 "str 是一个小数",否则会输出 "str 不是一个小数"。
相关问题
java 校验一个字符串是否是整数或者小数,且整数位非0数字前不能有0,小数最多保留四位
要校验一个字符串是否是整数或小数,且整数位非0数字前不能有0,小数最多保留四位,你可以使用以下代码:
```java
public boolean isValidNumber(String str) {
// 校验整数或小数的正则表达式
String regex = "^(?!0\\d)([1-9]\\d*|0)(\\.\\d{1,4})?$";
return str.matches(regex);
}
```
在上面的代码中,正则表达式 `^(?!0\\d)([1-9]\\d*|0)(\\.\\d{1,4})?$` 用来匹配整数或小数。其中:
- `^` 表示匹配字符串的开始
- `(?!0\\d)` 表示负向前瞻,即整数位非0数字前不能有0
- `([1-9]\\d*|0)` 表示匹配非0开头的整数部分或只有0的整数部分
- `(\\.\\d{1,4})?` 表示小数部分,`\\.\\d{1,4}` 表示小数点后面最多保留四位数字,`?` 表示小数部分是可选的
- `$` 表示匹配字符串的结束
你可以调用 `isValidNumber` 方法并传入你想要校验的字符串,如果返回值为 `true`,则说明该字符串是一个合法的整数或小数;如果返回值为 `false`,则说明该字符串不符合校验条件。
java 校验一个字符串是否是整数或者小数,且整数位非0数字前不能有0
你可以使用正则表达式来校验字符串是否是整数或小数,并且满足整数位非0数字前不能有0的条件。
下面是一个示例代码:
```java
public boolean isValidNumber(String str) {
// 校验整数或小数的正则表达式
String regex = "^([1-9]\\d*|0)(\\.\\d+)?$";
return str.matches(regex);
}
```
在上面的代码中,正则表达式 `^([1-9]\\d*|0)(\\.\\d+)?$` 用来匹配整数或小数。其中,`^` 表示匹配字符串的开始,`$` 表示匹配字符串的结束。正则表达式中的 `[1-9]\\d*` 表示匹配非0开头的整数部分,`0` 表示匹配只有0的整数部分。而 `(\\.\\d+)?` 表示匹配小数部分,`\\.\\d+` 表示小数点后面至少有一位数字,而 `?` 表示小数部分是可选的。
你可以调用 `isValidNumber` 方法并传入你想要校验的字符串,如果返回值为 `true`,则说明该字符串是一个合法的整数或小数;如果返回值为 `false`,则说明该字符串不符合校验条件。
阅读全文