String字符串转BigDecimal时,报NumberFormatException异常
最近发现项目的后台有报NumberFormatException异常错误,
如下:
后来找到对应位置看了一下,发现是String字符串转BigDecimal时报了错,
于是写了个demo验证一下:
传入字符串为null时就会报错,所以这里要对传入的字符串进行判空。
String转BigDecimal遇到的坑
1、string类型转换BigDecimal的时候,一定要进行非空判断。
2、如果是带有千分位的string数字,直接转换会报java.lang.NumberFormatException,例如下面代码:
String a="3,100.55"; BigDecimal b=new BigDecimal(a); System.out.println(b);
解决方法
String a="3,100.55"; BigDecimal b=new BigDecimal(a.replace(",","")); System.out.println(b);
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。