如何把字符转换成数字 java
使用 Integer.parseInt() 方法
将字符串转换为整数可以使用 Integer.parseInt() 方法。该方法接受一个字符串参数,并返回对应的整数值。如果字符串无法解析为整数,会抛出 NumberFormatException。
String str = "123";
int num = Integer.parseInt(str);
System.out.println(num); // 输出:123
使用 Integer.valueOf() 方法
Integer.valueOf() 也可以将字符串转换为 Integer 对象,支持自动拆箱为基本类型 int。

String str = "456";
Integer numObj = Integer.valueOf(str);
int num = numObj; // 自动拆箱
System.out.println(num); // 输出:456
处理非数字字符串
在转换前应检查字符串是否为有效数字,避免 NumberFormatException。
String str = "abc123";
try {
int num = Integer.parseInt(str);
System.out.println(num);
} catch (NumberFormatException e) {
System.out.println("字符串不是有效数字");
}
转换其他进制数字
Integer.parseInt() 支持指定进制,例如将二进制字符串转换为十进制数字。

String binaryStr = "1010";
int decimalNum = Integer.parseInt(binaryStr, 2);
System.out.println(decimalNum); // 输出:10
使用 Double.parseDouble() 转换浮点数
若字符串表示浮点数,可使用 Double.parseDouble() 方法。
String str = "3.14";
double num = Double.parseDouble(str);
System.out.println(num); // 输出:3.14
使用 Scanner 类解析数字
Scanner 类可以从字符串中提取数字,适用于混合文本的情况。
String str = "Price: 99.99";
Scanner scanner = new Scanner(str);
scanner.useDelimiter("[^0-9.]+"); // 匹配非数字字符
double price = scanner.nextDouble();
System.out.println(price); // 输出:99.99
scanner.close();
注意事项
- 确保字符串格式正确,避免包含非数字字符(除非指定进制)。
- 对于大数字,可使用
Long.parseLong()或BigInteger处理。 - 浮点数转换时注意区域设置,某些地区可能使用逗号作为小数点。






