java 使用正则判断小数点后有几位
时间: 2023-12-12 14:02:41 浏览: 64
可以使用正则表达式来判断小数点后有几位,示例代码如下:
```java
public static boolean isDecimal(String str, int n) {
String regex = "^\\d+\\.\\d{" + n + "}$"; // 匹配小数点后n位的正则表达式
return Pattern.matches(regex, str);
}
```
其中,`str` 是要判断的字符串,`n` 是小数点后的位数。使用 `Pattern.matches()` 方法来匹配正则表达式,如果匹配成功,则返回 `true`,否则返回 `false`。
相关问题
使用正则判断小数点后有几位
可以使用正则表达式来判断小数点后有几位,如下所示:
```python
import re
def count_decimal_places(num):
pattern = r'^\d+\.\d{1,}$' # 匹配小数的正则表达式
if re.match(pattern, num):
return len(num.split('.')[1])
else:
return 0
```
上述代码中,`count_decimal_places` 函数接受一个字符串类型的数字作为参数,使用正则表达式 `^\d+\.\d{1,}$` 匹配小数,其中:
- `^` 表示匹配字符串的开头;
- `\d+` 表示匹配一个或多个数字;
- `\.` 表示匹配小数点;
- `\d{1,}` 表示匹配一个或多个数字,即小数点后至少一位;
- `$` 表示匹配字符串的结尾。
如果匹配成功,则返回小数点后的位数,否则返回 0。
例如,`count_decimal_places('3.14')` 返回 2,`count_decimal_places('0.123456')` 返回 6。
js判断小数点后面有几位
可以使用正则表达式来判断小数点后面有几位,例如:
```javascript
function countDecimalPlaces(num) {
const match = (''+num).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);
if (!match) { return 0; }
const decimals = match[1] ? match[1].length : 0;
const exponent = match[2] ? parseInt(match[2]) : 0;
return Math.max(0, decimals - exponent);
}
console.log(countDecimalPlaces(1.23)); // 输出 2
console.log(countDecimalPlaces(1.2345)); // 输出 4
console.log(countDecimalPlaces(1)); // 输出 0
console.log(countDecimalPlaces(0.001)); // 输出 3
```
这个函数可以接收一个数字参数 `num`,并返回小数点后面的位数。它使用了正则表达式来匹配数字字符串,然后计算出小数点后面的位数。