Java字符串如何转换为数字
在Java中,将字符串转换为数字有多种方法,具体取决于你想要转换的数字类型(如整数、浮点数等)。以下是一些常用的方法:
1. 转换为整数
使用 Integer.parseInt()
String str = "123";
int num = Integer.parseInt(str);
System.out.println(num); // 输出: 123
使用 Integer.valueOf()
String str = "123";
int num = Integer.valueOf(str);
System.out.println(num); // 输出: 123
2. 转换为浮点数
使用 Double.parseDouble()
String str = "123.45";
double num = Double.parseDouble(str);
System.out.println(num); // 输出: 123.45
使用 Double.valueOf()
String str = "123.45";
double num = Double.valueOf(str);
System.out.println(num); // 输出: 123.45
3. 转换为长整数
使用 Long.parseLong()
String str = "1234567890123";
long num = Long.parseLong(str);
System.out.println(num); // 输出: 1234567890123
使用 Long.valueOf()
String str = "1234567890123";
long num = Long.valueOf(str);
System.out.println(num); // 输出: 1234567890123
4. 转换为大整数(BigInteger)
如果你需要处理非常大的整数,可以使用 BigInteger 类。
import java.math.BigInteger;
String str = "123456789012345678901234567890";
BigInteger bigNum = new BigInteger(str);
System.out.println(bigNum); // 输出: 123456789012345678901234567890
5. 转换为大浮点数(BigDecimal)
对于需要高精度的浮点数运算,可以使用 BigDecimal 类。
import java.math.BigDecimal;
String str = "123.4567890123456789";
BigDecimal bigDecNum = new BigDecimal(str);
System.out.println(bigDecNum); // 输出: 123.4567890123456789
异常处理
在转换过程中,如果字符串格式不正确,上述方法会抛出 NumberFormatException。因此,建议使用 try-catch 块来捕获并处理这些异常。
String str = "abc";
try {
int num = Integer.parseInt(str);
} catch (NumberFormatException e) {
System.out.println("字符串格式不正确");
}
通过这些方法,你可以轻松地将Java中的字符串转换为各种数字类型。