java.lang.NumberFormatException:For input string:"undefined"

本文针对在将字符串转换为数字过程中出现的NumberFormatException异常提供了解决方案。通过介绍异常产生的原因及几种预防措施,如添加try-catch语句、判断字符串是否为数字等,并提供了Java中判断字符串是否为数字的三种方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在将字符串转换为数字时导致此错误,解决此问题的思路:

1、添加 try catch语句

2、判断字符串是否为数字,将介绍java中判断字符串是否为数字的方法的几种方法

发生错误的代码:

java.lang.NumberFormatException.forInputString(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at java.lang.Integer.valueOf(Unknown Source)

发生错误的原因:

由于Ajax调用的时候对应的参数未设置,导致后台获取到的字符串是“undefined”,在将它转换成Integer类型的时候出的错。

解决办法:

Ajax调用的时候设置对应的参数。

添加Try  catch语句。

最好的做法还是应该在进行参数类型转换的时候先对待转换的值做一下检测,看是否符合目标类型的格式。

Java中判断字符串是否为数字的方法的几种方法

1、用Java自带的函数。

public static boolean isNumeric(String str) {
     for(int i = 0;i<str.length();i++){
          System.out.println(str.charAt(i));
       if(!Character.isDigit(str.char(i))){
           return false;
        }  
    }  
           return true;
}    

2、用正则表达式

首先要import java.util.regex.Pattern和java.util.regex.Match

public boolean isNumeric(String str) {
     Pattern pattern = Pattern.compile("[0-9]*");
     Matcher isNum = pattern.matcher(str);
     if(!isNum.matchers()) {
           return false;
      }  
      return true;
}

3、使用org.apache.commons.lang

 

转载于:https://www.cnblogs.com/hengzhou/p/9626739.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值