Java 字符串转换为数字363


在 Java 中,将字符串转换为数字是一个常见的操作。有几种不同的方法可以实现此转换,具体取决于字符串中数据的类型和所需的格式。

使用基本类型转换

对于基本数据类型(如 int、long、float 和 double),可以使用以下方法进行转换:```java
int numInt = ("123");
long numLong = ("1234567890");
float numFloat = ("12.34");
double numDouble = ("123.45");
```

这些方法会抛出 NumberFormatException 异常,如果字符串不包含有效的数字。

使用 NumberFormat 类

NumberFormat 类提供了更灵活的数字转换。它可以格式化和解析数字,包括小数、货币和百分比。```java
NumberFormat nf = ();
Number number = ("123.45");
(());
```

此示例将字符串 "123.45" 转换为 Double 对象。NumberFormat 类还会解析小数点分隔符和千位分隔符,具体取决于当前语言环境。

使用 BigInteger 和 BigDecimal 类

对于超过 Java 基本数据类型范围的数字,可以使用 BigInteger 和 BigDecimal 类。```java
BigInteger bigInt = new BigInteger("12345678901234567890");
BigDecimal bigDecimal = new BigDecimal("1234567890.1234567890");
```

这些类提供了对大整数和小数的精确操作。它们支持各种操作,包括加、减、乘、除和比较。

处理非数字字符

在某些情况下,字符串可能包含非数字字符。要处理这些情况,可以使用正则表达式:```java
String numberString = "123abc";
String digitsOnly = ("[^\\d]", "");
int numInt = (digitsOnly);
```

此示例将从 "123abc" 中删除所有非数字字符,然后将剩余的数字转换为 int。

选择最佳方法

选择最适合的字符串到数字转换方法取决于特定要求。对于简单的基本数据类型转换,可以使用基本类型转换方法。对于更复杂的转换,如格式化和解析,NumberFormat 类是一个不错的选择。对于大整数和小数,BigInteger 和 BigDecimal 类提供了必要的精度。

2024-10-25


上一篇:字符串拼接的 Java 指南

下一篇:Java 中的字符串数组:全面指南