项目中将实体类对象中的数据返回到前端,但在对象中有一个Double的字段需要控制它的小数位数为2位。刚开始想的是加上一个注解就解决。但没有找到,于是使用另一个方法:
1.创建一个工具类:
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import java.io.IOException;
import java.text.DecimalFormat;
public class BigDecimalSerializer extends JsonSerializer<Double> {
private DecimalFormat df = new DecimalFormat("0.00");
@Override
public void serialize(Double data, JsonGenerator jsonGenerator, SerializerProvider serializerProvider)
throws IOException {
if (data != null) {
if (data == 0) {
jsonGenerator.writeString("0");
} else {
jsonGenerator.writeString(df.format(data));
}
}
}
}
2.在实体类的属性上加上:@JsonSerialize(using = BigDecimalSerializer.class)注解
@JsonSerialize(using = BigDecimalSerializer.class)
private double chargerMoney;
成功实现效果