java 校验一个字符串是否是整数或者小数,且整数位非0数字前不能有0,小数最多保留四位
时间: 2024-04-13 18:30:07 浏览: 120
详解Java判断是否是整数,小数或实数的正则表达式
要校验一个字符串是否是整数或小数,且整数位非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`,则说明该字符串不符合校验条件。
阅读全文