java.lang.NumberFormatException: For input string: " "这二个问题怎么解决

ZYBalance1 = Double.parseDouble((String)(resultMap.get(DataFormat.formatDate(selectDateStart)+"-"+LOANConstant.LoanType.ZY+"-1" )!=null?resultMap.get(DataFormat.formatDate(selectDateStart)+"-"+LOANConstant.LoanType.ZY+"-1" ):" ").toString());
ZYBalance2 = Double.parseDouble((String)(resultMap.get(DataFormat.formatDate(selectDateStart)+"-"+LOANConstant.LoanType.ZY+"-2")!=null? resultMap.get(DataFormat.formatDate(selectDateStart)+"-"+LOANConstant.LoanType.ZY+"-2" ):" ").toString());
WTBalance1 = Double.parseDouble((String)(resultMap.get(DataFormat.formatDate(selectDateStart)+"-"+LOANConstant.LoanType.WT+"-1") ).toString());

可以这样:Double.parseDouble(n.equals("")?"0":n);

注:n是你需要转换的字符串

因为:java.lang.NumberFormatException: For input string: " "

这个异常是说,在将字符串转换为number的时候格式化错误。

“”空的字符串有对应的数值吗,这里显然没有,所以就一个问题,如上即可。

扩展资料:

注意事项

如果传入的值不为null或“”可以正常运行不报错,如果为空值就会出现任如下异常。

by: java.lang.NumberFormatException: For input string: "null"

at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)

at java.lang.Integer.parseInt(Integer.java:580)

at java.lang.Integer.parseInt(Integer.java:615)

这里的

For input string: "null"

并不是指传入的值为空,而是指传入的字符串为“null”,而“null”并不能被StringUtils.split()切割,进而不能被Integer.parseInt()调用,所以会报错。

if(customerIdStr != null && !customerIdStr.equals("") ){

String[] customerIds = customerIdStr.split(",");

//将字符串客户ID 转换为整数ID

for (String idStr : customerIds) {

Integer id = Integer.parseInt(idStr);

customerRepository.updatefixedAreaId(fixedAreaId,id);

}

}else{

return;

}

所以只需要在上面的判断语句后面再加一个判断传入的参数是否不为“null”的条件即可解决此类异常问题。

if(customerIdStr != null && !customerIdStr.equals("") && !customerIdStr.equals("null")){

String[] customerIds = customerIdStr.split(",")

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-10-21
数字格式化异常,输入一个空字符串,进行数字转换会出现这个异常,
resultMap中肯定有某一个key对应的value为空,一般先判断是否为空,再进行parseDouble转换追问

Double.parseDouble((String)(resultMap.get(DataFormat.formatDate(selectDateStart)+"-"+LOANConstant.LoanType.WT+"-1") ).toString());
在这句话中怎么加判空校验啊?

追答String key = DataFormat.formatDate(selectDateStart)+"-"+LOANConstant.LoanType.WT+"-1";
String value = resultMap.get(key)+"";
if(value!=null&&value.trim().length>0){
  Double.parseDouble(value);
}

追问

这样写的话if{大括号里应给怎么写}

追答

就是这样写啊

第2个回答  推荐于2017-09-22
两个问题?
java.lang.NumberFormatException: For input string: " "
这个异常是说,在将字符串转换为number的时候格式化错误
“”空的字符串有对应的数值吗,显然没有
所以你可以
Double.parseDouble(n.equals("")?"0":n);

n是你需要转换的字符串追问

Double.parseDouble((String)(resultMap.get(DataFormat.formatDate(selectDateStart)+"-"+LOANConstant.LoanType.WT+"-1") ).toString());
那如果我要在这句话中加判空校验怎么做

追答

String str = (String)(resultMap.get(DataFormat.formatDate(selectDateStart)+"-"+LOANConstant.LoanType.WT+"-1") ).toString();

Double.parseDouble(str.equals("")?"0":str);

本回答被提问者和网友采纳
第3个回答  2015-10-21
出现空字符串了,你查找下哪个对象为空了,转成数字类型时,失败了

java.lang.NumberFormatException: For input string: " "这二个问题...
因为:java.lang.NumberFormatException: For input string: " "这个异常是说,在将字符串转换为number的时候格式化错误。“”空的字符串有对应的数值吗,这里显然没有,所以就一个问题,如上即可。

java字符异常:“for input string:”怎么解决?
“for input string:”错误的详细错误信息为“java.lang.NumberFormatException: For input string:”异常。该异常的是由于把不符合数字格式的字符串转换为数字时抛出的格式化异常。解决方法:1,若是调试时异常,用debug或打印语句输出变量,将字符串纠正为数字格式。2,若是运行时异常,请用try catch语句...

java.lang.NumberFormatException: For input string: ""怎么解决?
因为:java.lang.NumberFormatException: For input string: " "这个异常是说,在将字符串转换为number的时候格式化错误。“”空的字符串有对应的数值吗,这里显然没有,所以就一个问题,如上即可。

java.lang.NumberFormatException: For input string: " "
解决方案:将theMax打出到后台看其值是什么.即在28行与29行之间加上 System.out.println(theMax);如果为空或者其长度是否大于等于11(我猜测肯定小于11或则根本就是空)如果长度小于11或则为空再从theMax的值方面着手来排除你的错误!

for input string:是什么原因出现的?
“for input string:”错误的详细错误信息为“java.lang.NumberFormatException: For input string:”异常。解决方法:1,若是调试时异常,用debug 或打印语句输出变量,将字符串纠正为数字格式。2,若是运行时异常,请用try catch 语句捕获。String类表示不可变的字符串,当前String类对象创建完毕之后,该...

java.lang.NumberFormatException: For input string: " 2 " 是什么...
貌似你想把字符串2转换成数字,但是你目前生成的这个字符串中,2的前后都有空格,把空格去掉,看看是不是这个原因导致转换失败。

java中for输入的字符串怎么解析
关于“for input string”问题出现的原因应当是,进行类型转换的时候输入的字符串为空值。错误的详细错误信息为“java.lang.NumberFormatException: For input string:”异常,而该异常是由于把不符合数字格式的字符串转换为数字时抛出的格式化异常。如上图,日志到这个红色框这一行代码就把报错了,很明显...

for input string:是什么原因出现的?
“for input string:”错误的详细错误信息为“java.lang.NumberFormatException: For input string:”异常。该异常的是由于把不符合数字格式的字符串转换为数字时抛出的格式化异常。错误分析:错误关键字 NumberFormatException 这句话明确告诉了我们是数字格式异常,接着后面有 For input string: "1 " 提示...

...java.lang.NumberFormatException: For input string: "undefined...
看你的异常 就知道是 字符转换数字出错了 指名 undefined 无法转换为int 类型 undefined 是一个特殊值,通常用于指示变量尚未赋值。对未定义值的引用返回特殊值 undefined 看情况应该是 你用ajax提交了吧 js 变量传到后面,未赋值或未定义 返回undefined 当然转换出错了 关键要看 curpage和size两个参数 ...

java报错java.lang.NumberFormatException: For input string 求助
java.lang.NumberFormatException: For input string: " "这个异常是说,在将字符串转换为number的时候格式化错误 “”空的字符串有对应的数值吗,显然没有

相似回答