java.math.BigDecimal cannot be cast to java.lang.String解决方法

从mysql数据库里取decimal(18,2)封装到Map<String,String>中

BigDecimal b = new BigDecimal(resultMap.get("amount"));
b=b.setScale(2, BigDecimal.ROUND_HALF_UP); //四舍五入

在第一行报类型转换异常

解决方法:

Object ob = resultMap.get("amount");
BigDecimal b = new BigDecimal(ob.toString());
b=b.setScale(2, BigDecimal.ROUND_HALF_UP); //四舍五入
原文地址:https://www.cnblogs.com/aqsunkai/p/6690617.html