將 String 轉換為其他資料型別

你可以將數字字串轉換為各種 Java 數字型別,如下所示:

字串到 int:

String number = "12";
int num = Integer.parseInt(number);

要浮動的字串:

String number = "12.0";
float num = Float.parseFloat(number);

字串加倍:

String double = "1.47";
double num = Double.parseDouble(double);

字串到布林值:

String falseString = "False";
boolean falseBool = Boolean.parseBoolean(falseString);   // falseBool = false 
    
String trueString = "True";
boolean trueBool = Boolean.parseBoolean(trueString);     // trueBool = true

字串到長:

String number = "47";
long num = Long.parseLong(number);

字串到 BigInteger:

String bigNumber = "21";
BigInteger reallyBig = new BigInteger(bigNumber);

字串到 BigDecimal:

String bigFraction = "17.21455";
BigDecimal reallyBig = new BigDecimal(bigFraction);

轉換例外:

如果你嘗試解析的字串格式不合適,或者超出目標型別的範圍,則上面的數字轉換將全部丟擲(未選中)NumberFormatException。該例外主題討論如何處理這種例外。

如果你想測試你可以解析一個字串,你可以實現這樣的 tryParse... 方法:

boolean tryParseInt (String value) {  
    try {  
        String somechar = Integer.parseInt(value);
        return true;  
     } catch (NumberFormatException e) { 
        return false;  
     }  
}

但是,在解析之前立即呼叫這個 tryParse... 方法(可以說)是不好的做法。最好只呼叫 parse... 方法並處理異常。