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