Java 字串轉換為整數

在 Java 中有兩種方法將字串轉換為整數,

  1. 使用 Integer.parseInt() 將字串轉換為整數
  2. 使用 Integer.valueOf() 將字串轉換為整數

假設你有一個字串 strTest,其中內容是一個整數數值。

String strTest = "100";

我們試著執行一些算術運算,例如除以 4,它會立即顯示編譯錯誤。

class StrConvert{
  public static void main(String []args){
    String strTest = "100";
    System.out.println("Using String:" + (strTest/4));
  }
}

輸出:

/StrConvert.java:4: error: bad operand types for binary operator '/'
    System.out.println("Using String:" + (strTest/4));

因此,在對其執行數值運算之前,需要將字串轉換為整型資料。

使用 Integer.parseInt() 將字串轉換為整型資料

parseInt 方法的語法如下:

int <IntVariableName> = Integer.parseInt(<StringVariableName>);

將字串變數作為引數傳遞進去。

這會將 Java String 轉換為 Java Integer 並將其儲存到指定的整數變數中。

修改後的程式碼如下,

class StrConvert{
  public static void main(String []args){
    String strTest = "100";
    int iTest = Integer.parseInt(strTest);
    System.out.println("Actual String:"+ strTest);
    System.out.println("Converted to Int:" + iTest);
    //This will now show some arithmetic operation
    System.out.println("Arithmetic Operation on Int: " + (iTest/4));
  }
}

輸出:

Actual String:100
Converted to Int:100
Arithmetic Operation on Int: 25

使用 Integer.valueOf() 將字串轉換為整數

Integer.valueOf() 方法還用於在 Java 中將字串轉換為整數。

以下是程式碼示例,顯示了使用 Integer.valueOf() 方法的過程:

public class StrConvert{
  public static void main(String []args){
    String strTest = "100";
    //Convert the String to Integer using Integer.valueOf
    int iTest = Integer.valueOf(strTest);
    System.out.println("Actual String:"+ strTest);
    System.out.println("Converted to Int:" + iTest);
    //This will now show some arithmetic operation
    System.out.println("Arithmetic Operation on Int:" + (iTest/4));
  }
}

輸出:

Actual String:100
Converted to Int:100
Arithmetic Operation on Int:25

NumberFormatException

如果嘗試解析無效的數字字串,將會丟擲 NumberFormatException。例如,字串 Test99 無法轉換為整數。

例子:

public class StrConvert{
  public static void main(String []args){
    String strTest = "Tastones";
    int iTest = Integer.valueOf(strTest);
    System.out.println("Actual String:"+ strTest);
    System.out.println("Converted to Int:" + iTest);
  }
}

上面的示例在輸出中給出以下異常:

Exception in thread "main" java.lang.NumberFormatException: For input string: "Tastones"