将 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...
方法并处理异常。