当前位置: 首页 > 知识库问答 >
问题:

线程“main”java中出现异常。lang.NumberFormatException:用于输入字符串:“-79%”

孙梓
2023-03-14

将折扣值-79%转换为79%时获取错误。

**for(int i=1; i

        String str=DiscountValue;
        System.out.println(str.substring(1,3));
        
        int Discount = Integer.parseInt(DiscountValue);
        
        if (Discount >= 85) {
            String GameName=driver.findElement(By.xpath("/html[1]/body[1]/div[3]/main[1]/section[1]/div[1]/div[1]/ul[1]/li[3]/div[1]/a[1]/section[1]/span[1]")).getText();
            System.out.println("Please add to Wishlist:"+ GameName);
        } else {
            System.out.println("Jump to next game" +i);
        }** 

共有1个答案

韦俊英
2023-03-14

您的转换似乎不正确,这就是为什么您得到java。lang.NumberFormatException

当我们试图将字符串转换为数值(如浮点数或整数)时,会引发NumberFormatExcture,但输入字符串的格式不合适或不合法。

您正在使用系统。出来println(str.substring(1,3))对实际值没有影响,因为String是不可变的。另外,您需要将str传递给int-Discount=Integer。parseInt(str)

要解决并修复此问题,您需要使用以下代码:

完整代码:

 String str = DiscountValue;
 str = str.substring(1, 3);
 int Discount = Integer.parseInt(str);

解析字符串到整数的其他方法是:

str = str.replaceAll("[^\\d]", "");

 类似资料: