Java 函数如何判断字符串是否为数字?
发布时间:2023-06-16 23:55:46
判断字符串是否为数字,通常需要依赖以下几个步骤:
1. 判断字符串为空或为null,如果是,则不是数字;
2. 判断字符串长度是否为1,如果是,判断字符是否在'0'到'9'之间,如果是,则是数字,如果不是,则不是数字;
3. 判断字符串长度大于1,如果第一个字符是'-'或'+',则跳过字符判断,从第2个字符开始判断是否在'0'到'9'之间;
4. 如果第一个字符不是'-'或'+',则从第1个字符开始判断是否在'0'到'9'之间;
5. 如果所有字符都在'0'到'9'之间,则是数字。如果存在不在'0'到'9'之间的字符,则不是数字。
下面通过Java代码来实现以上步骤:
public static boolean isNumeric(String str) {
if (str == null || str.length() == 0) {
return false;
}
char[] chars = str.toCharArray();
int length = chars.length;
int i = 0;
// 判断第一个字符是否是'-'或'+'
if (chars[0] == '-' || chars[0] == '+') {
i = 1;
}
// 剩下的字符必须都是数字
while (i < length) {
if (chars[i] < '0' || chars[i] > '9') {
return false;
}
i++;
}
return true;
}
以上代码中,首先判断了字符串是否为空或为null,如果是,则直接返回false;
然后将字符串转换为字符数组,循环遍历字符数组,判断每个字符是否在'0'到'9'之间,如果遇到不是数字的字符,则直接返回false,否则继续循环判断;
如果全部字符都是数字,则函数返回true。
需要注意的是,以上代码只适用于判断整数字符串是否为数字,对于带有小数点的字符串或科学计数法表示的字符串,则需要进行额外的处理。
