Double.parseDouble 解析报错java.lang.NumberFormatException: For input string: "20887672.5"
时间: 2023-12-02 10:39:13 浏览: 28
Double.parseDouble是将字符串转换为double类型的方法。当输入的字符串不符合double类型的格式时,就会抛出java.lang.NumberFormatException异常。在你提供的引用中,引用提到了将字符串转换为double类型的方法,可以使用该方法解决这个问题。具体来说,你需要检查输入的字符串是否符合double类型的格式,如果符合,就可以使用Double.parseDouble方法将其转换为double类型。如果不符合,就需要对输入的字符串进行处理,使其符合double类型的格式。
相关问题
java.lang.NumberFormatException: For input string: "0.0"
java.lang.NumberFormatException是一个运行时异常,表示将字符串转换为数字时发生了格式错误。在这种情况下,输入的字符串无法被正确解析为数字。
对于输入字符串"0.0",它包含小数点,而Integer.parseInt()方法只能解析整数字符串。因此,当尝试将"0.0"转换为整数时,会抛出NumberFormatException异常。
要解决这个问题,你可以使用Double.parseDouble()方法将字符串转换为浮点数,或者使用Float.parseFloat()方法将字符串转换为单精度浮点数。
以下是两种解决方案的示例代码:
1. 使用Double.parseDouble()方法将字符串转换为浮点数:
```java
String str = "0.0";
double result = Double.parseDouble(str);
System.out.println("结果为:" + result); // 输出:结果为:0.0
```
2. 使用Float.parseFloat()方法将字符串转换为单精度浮点数:
```java
String str = "0.0";
float result = Float.parseFloat(str);
System.out.println("结果为:" + result); // 输出:结果为:0.0
```
java.lang.NumberFormatException: For input string: "211.65"
java.lang.NumberFormatException: For input string: "211.65"是一个运行时异常,表示尝试将一个非数字字符串转换为数字类型时发生了错误。在这种情况下,字符串"211.65"包含小数点,因此无法转换为整数类型。如果您想将其转换为浮点数类型,可以使用Double.parseDouble()方法,如下所示:
```java
String str = "211.65";
double num = Double.parseDouble(str);
System.out.println(num); // 输出:211.65
```