BigDecimal类型转换异常NumberFormatException

开发时遇到的金额数据类型转换,一直抛出类型转换异常NumberFormatException记录一下。

数据库中该金额字段是String类型,我想要从对象中获取后转换为BigDecimal类型。

首先BigDecimal初始化:

BigDecimal bg = new BigDecimal("0.00");

我这里初始化传参为String类型,转换为数值 0.00 ,还可以有double、float等类型

参考 BigDecimal常见构造方法

踩到的坑

原本的写法

BigDecimal decimal2 = new BigDecimal(record.getTranAmt());

这里record.getTramAmt()为String类型

测试环境中金额过大,所以存入的金额存在 这种”4,706,000.00“ 带有 逗号的数值,导致一直解析错误。

正确的写法

BigDecimal decimal2 = new BigDecimal(record.getTranAmt().replace(",",""));

删除掉 ”,“ 就可以成功转换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值