常见错误"/>
BigDecimal使用常见错误
java.lang.ArithmeticException: Rounding necessary
这种情况是因为使用 BigDecimal类型的变量做精度处理时,未设置精度处理方式导致的.
原错误代码为:
timeInfoDatum.setProp(prop.setScale(2)+"%");
改为
timeInfoDatum.setProp(prop.setScale(2,RoundingMode.HALF_UP)+"%");
RoundingMode.HALF_UP: 表示四舍五入
Could not write JSON: (was java.lang.NumberFormatException); nested exception is com.fasterxml.jackson.databind.JsonMappingException
这个错误是指在转换成json数据格式的时候出现了问题,无法识别或者其他原因.它后面明确标注了转换错误的哪个类的哪个属性 我这里错误的地方是
com.central.tariffanalysis.dto.PeriodPriceCardDTO类的属性名称为price的地方转换时出错
我的错误代码为
@JsonSerialize(using = DecimalSerializer.class)@ApiModelProperty(value = "电价列表",dataType = "String")private List<BigDecimal> price;
@JsonSerialize(using = DecimalSerializer.class) 是自定义注解 用于处理返回的BigDecimal类型数据是小数时,整数部分加上小数部分的个数等于5 它解析不了List列表
改为:
@ApiModelProperty(value = "电价列表",dataType = "String")private List<BigDecimal> price;
可正常运行.
具体情况需要具体分析
更多推荐
BigDecimal使用常见错误
发布评论