如何将字符串转换为整数:Java函数实现
发布时间:2023-11-04 08:06:34
在Java中,我们可以使用Integer.parseInt()方法将字符串转换为整数。以下是一个实现的例子:
public class StringToInteger {
public static int convertStringToInt(String str) {
int result = 0;
// 判断字符串是否为负数
boolean isNegative = false;
if(str.charAt(0) == '-') {
isNegative = true;
str = str.substring(1);
}
// 遍历字符串中的每个字符
for(int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
// 检查字符是否为数字,如果不是则抛出异常
if(!Character.isDigit(c)) {
throw new IllegalArgumentException("字符串含有非法字符");
}
// 将字符转换为数字
int digit = Character.getNumericValue(c);
// 将数字添加到结果中
result = result * 10 + digit;
}
// 如果字符串为负数,将结果取负数
if(isNegative) {
result = -result;
}
return result;
}
public static void main(String[] args) {
String str = "12345";
int num = convertStringToInt(str);
System.out.println("转换后的整数为:" + num);
}
}
在上述代码中,我们首先检查字符串的 个字符是否为'-',如果是,则将isNegative标志设置为true,并从字符串中删除该字符。然后,我们使用for循环遍历字符串中的每个字符。在每次迭代中,我们首先检查该字符是否是一个有效的数字字符,如果不是,则抛出一个异常。然后,我们使用Character.getNumericValue()方法将字符转换为数字,并将其添加到result中。最后,如果字符串是负数,我们将result取负。最后返回转换后的整数。
在main方法中,我们通过调用convertStringToInt()方法将字符串转换为整数,并打印转换后的结果。
示例输出:
转换后的整数为:12345
请注意,在上述实现中,我们只考虑了整数形式的字符串(不包含小数点和指数符号)。如果需要将带有小数或指数的字符串转换为浮点数,可以使用Float.parseFloat()或Double.parseDouble()方法。
