情况,springBoot传数据给前端的时候,debug的时候发现数据的精度还是存在的,比如后台传 {money:1.00,price:2.30},传到前台就变成了{money:1,price:2.3},这样是明显的精度的丢失了
解决办法是:1,是用string去传给前端 2,使用注解@JsonSerialize(using=BigDecimalSerialize.class)
public class BigDecimalSerialize extends JsonSerializer<BigDecimal>{
@override
public void serialize(BigDecimal value,JsonGenerator gen,SerializerProvider serializerProvider)throws IOException{
if(value !=null && !"".equals(value)){
gen.writeString(value.setScale(2,BigDecimal.ROUND_HALFDOWN)+"");
}else{
gen.writeString(value.toString());
}
}
}