tomcat java.math.BigDecimal cannot be cast to java.lang.Double问题解决

当尝试将数据库中的BigDecimal对象转换为Double时,会出现java.math.BigDecimal cannot be cast to java.lang.Double的错误。解决方案包括将BigDecimal先转换为String,然后再转换为Double。错误也可能在尝试将BigDecimal转换为Integer时发生。解析Double的方法有parseDouble()和valueOf(),它们在参数和返回类型上有所不同,但功能相似。Integer.valueOf()方法在内部实现上略有不同。
摘要由CSDN通过智能技术生成

出现这个错误的原因是将数据库中数值型取出保存到 map<String,Object>中,需要进行数值运算,转成double类型时抛出ava.math.BigDecimal cannot be cast to java.lang.Double。
解决办法;
1.转成string

String num_str=map.get("key").toString();

2.转成double,需承接上面的转成String

Double num_double=Double.parseDouble(num_str)

从数据库取count、sum等函数的值需要转化成Integer的时候出现
java.math.BigDecimal cannot be cast to java.lang.String的报错
错误代码
//code

int num = (int)map.get(key);

解决方法

int num = Integer.parseInt(String.valueOf(map1.get(key)))

数字类型的String字符串转换为浮点数通常采用parseDouble()和valueOf()方法&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值