在Java中,字符转数字通常通过Integer.parseInt(),Integer.valueOf或者利用Character.getNumericValue()完成。下面我们将详细描述这三种常见的转换方法。
一、使用Integer.parseInt()方法
Integer.parseInt()方法是将String类别的数值转换为基本数据类型int。这是一种非常直接有效的方法来转换字符到数据。
String str = "123"; int num = Integer.parseInt(str); System.out.println(num);
请注意,假如字符串包括非数字字符,使用这种方法能够抛出NumberFormatException异常。
String str = "123abc"; try { int num = Integer.parseInt(str); System.out.println(num); } catch(NumberFormatException e) { System.out.println("String contains non-numeric characters."); }
二、使用Integer.valueOf()方法
Integer.valueOf()将字符串转换为Integer目标。根据启用intValue(),我们要从Integer目标那里获得int值。
String str = "123"; Integer integerObj = Integer.valueOf(str); int num = integerObj.intValue(); System.out.println(num);
也有Integer.parseInt()方式类似,假如字符串中含有非数字字符,使用这种方法会导致NumberFormatException异常。
String str = "123abc"; try { Integer integerObj = Integer.valueOf(str); int num = integerObj.intValue(); System.out.println(num); } catch(NumberFormatException e) { System.out.println("String contains non-numeric characters."); }
三、使用Character.getNumericValue()方法
Character.getNumericValue()方式用以获得字符的int值。此方法改善了单独字符的转换,是转换单独字符时的首选。
char ch = '9'; int num = Character.getNumericValue(ch); System.out.println(num);
此方法适用于包括非拉丁数字在内的各种数字字符。若字符不代表任何数据,则此方法将回到-1。
char ch = 'x'; int num = Character.getNumericValue(ch); if(num == -1){ System.out.println("Character does not represent a number."); } else { System.out.println(num); }