將 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...
方法並處理異常。