String字符串转BigDecimal时,报NumberFormatException异常的解决

寻技术 JAVA编程 2024年02月04日 153

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);

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持寻技术。

关闭

用微信“扫一扫”