欢迎访问宙启技术站
智能推送

如何将字符串转换为整数: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()方法。