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