java 校验只允许最多小数点后两位的代码
时间: 2023-09-18 18:06:48 浏览: 52
可以使用正则表达式来实现小数点后最多只允许两位的校验,Java代码示例如下:
```java
public static boolean isValidDecimal(String str) {
// 小数点后最多只允许两位
String regex = "^\\d+(\\.\\d{1,2})?$";
return str.matches(regex);
}
```
该方法接收一个字符串参数,返回一个布尔值,用于判断该字符串是否为小数点后最多只允许两位的数字。其中,正则表达式 `^\\d+(\\.\\d{1,2})?$` 表示:
- `^` 匹配字符串开头
- `\\d+` 匹配一个或多个数字
- `(\\.\\d{1,2})?` 匹配一个小数点和一到两位数字,可选
- `$` 匹配字符串结尾
因此,该正则表达式可以匹配如下字符串:
- 123
- 123.4
- 123.45
- 0.12
- 0.0
- 等等
如果字符串不符合要求,方法返回 `false`;否则返回 `true`。
相关问题
js 正则校验 0.01~9999999范围内的数字,小数点后最多两位
可以使用以下正则表达式进行校验:
/^(0|[1-9]\d{0,6})(\.\d{1,2})?$/
解释一下:
^ 表示匹配字符串的开始位置
(0|[1-9]\d{0,6}) 表示匹配 0 或者 1-7 位数字(因为 9999999 是 7 位数字)
(\.\d{1,2})? 表示小数点后最多匹配两位数字,可以没有小数部分
$ 表示匹配字符串的结束位置
所以这个正则表达式可以匹配 0.01 到 9999999 的数字,小数点后最多两位。
写一个正则校验:只能输入数字,小数点后最多只能输入两位,且不允许输入负数
可以使用如下正则表达式进行校验:
```
/^[0-9]+(.[0-9]{1,2})?$/
```
解释如下:
- `^` 匹配字符串开始的位置
- `[0-9]+` 匹配一个或多个数字
- `(.[0-9]{1,2})?` 匹配小数点后面的数字,括号内的 `?` 表示该组匹配为可选。`.` 匹配小数点,`[0-9]{1,2}` 匹配一个或两个数字
- `$` 匹配字符串结束的位置
完整的校验代码示例:
```javascript
function validateInput(inputValue) {
const regExp = /^[0-9]+(.[0-9]{1,2})?$/;
return regExp.test(inputValue);
}
console.log(validateInput('123')); // true
console.log(validateInput('123.45')); // true
console.log(validateInput('123.456')); // false
console.log(validateInput('-123')); // false
```
注意:上述代码中没有处理输入为空的情况,需要根据实际情况进行处理。