后端返回数据ios接收精度丢失问题

问题描述,通过postman调用接口返回信息拿到的BigDecimal类型的数据是正常的,后端返回给ios丢失了小数后面的值
正常应该是"price":“100.00”
但是ios拿到的是"price":“100” 造成精度丢失,
解决办法是在返回对象里面的price属性,,,添加注解保证后端返回的是什么数据,ios原生接收的就会是什么数据,还需要添加get/set方法统一处理精度保留位数。
如下所示代码:

 @JsonFormat(shape = JsonFormat.Shape.STRING)
 private BigDecimal price;

	public BigDecimal getPrice() {
		return price == null ? null : price.setScale(2, BigDecimal.ROUND_HALF_UP);
    }

	public void setPrice(BigDecimal price) {
        this.price = price;
    }

你可能感兴趣的:(后端,ios)