Java字符串转Number

在Java中,我们经常需要将字符串转换为数字类型来进行计算或其他操作。Java提供了一种简单的方式来实现这个转换,即通过使用Java的内置方法或类进行字符串到Number类型的转换。

使用Java内置方法

Java提供了一些内置的方法,可以将字符串转换为不同类型的数字。下面是一些常用的方法:

Integer.parseInt()

Integer.parseInt()方法用于将字符串转换为整型。它接受一个字符串作为参数,并返回一个对应的整数。如果字符串不能被解析为整数,将抛出一个NumberFormatException异常。

下面是一个使用Integer.parseInt()方法的示例代码:

String str = "123";
int num = Integer.parseInt(str);
System.out.println(num); // 输出: 123

Double.parseDouble()

Double.parseDouble()方法用于将字符串转换为双精度浮点型。它接受一个字符串作为参数,并返回一个对应的双精度浮点数。如果字符串不能被解析为双精度浮点数,将抛出一个NumberFormatException异常。

下面是一个使用Double.parseDouble()方法的示例代码:

String str = "3.14";
double num = Double.parseDouble(str);
System.out.println(num); // 输出: 3.14

Float.parseFloat()

Float.parseFloat()方法用于将字符串转换为单精度浮点型。它接受一个字符串作为参数,并返回一个对应的单精度浮点数。如果字符串不能被解析为单精度浮点数,将抛出一个NumberFormatException异常。

下面是一个使用Float.parseFloat()方法的示例代码:

String str = "2.718";
float num = Float.parseFloat(str);
System.out.println(num); // 输出: 2.718

Long.parseLong()

Long.parseLong()方法用于将字符串转换为长整型。它接受一个字符串作为参数,并返回一个对应的长整数。如果字符串不能被解析为长整数,将抛出一个NumberFormatException异常。

下面是一个使用Long.parseLong()方法的示例代码:

String str = "1000000000";
long num = Long.parseLong(str);
System.out.println(num); // 输出: 1000000000

使用Java的Number类

除了上述方法,Java还提供了一个通用的Number类,可以将字符串转换为任意类型的数字。

Number类的实例化

要将字符串转换为Number类型,可以使用Number类的各种子类进行实例化。下面是几个常用的子类:

  • Integer
  • Double
  • Float
  • Long

下面是一个使用Integer类将字符串转换为整型的示例代码:

String str = "123";
Number num = new Integer(str);
System.out.println(num); // 输出: 123

Number类的方法

Number类提供了一些方法,可以用于将字符串转换为不同的数字类型。

  • intValue() - 返回Number对象的整数值。
  • doubleValue() - 返回Number对象的双精度浮点值。
  • floatValue() - 返回Number对象的单精度浮点值。
  • longValue() - 返回Number对象的长整数值。

下面是一个使用Number类的方法将字符串转换为整型的示例代码:

String str = "123";
Number num = new Integer(str);
int intValue = num.intValue();
System.out.println(intValue); // 输出: 123

总结

在本文中,我们介绍了Java中将字符串转换为Number类型的方法。我们学习了如何使用Java的内置方法和Number类进行转换,并提供了相应的代码示例。这些方法可以帮助我们轻松地将字符串转换为不同类型的数字,以便进行后续的计算或其他操作。

希望本文对你有所帮助!如果你有任何问题,请随时提问。

代码示例

String str = "123";
int num = Integer.parseInt(str);
System.out.println(num); // 输出: 123

String str = "3.14";
double num = Double.parseDouble(str);
System.out.println(num); // 输出: 3.14

String str = "2.718";
float num = Float.parseFloat(str);
System.out.println(num); // 输出: 2.718

String str = "100000