bigDecimal 返回前端保留小数点后两位问题解决
bigDecimal 返回前端保留小数点后两位问题解决bigDecimal保留后两位小数且返回前端不丢失小数点后的0 位数不够补零例后端返回decimal 类型 5.00到前端会变成5import com.fasterxml.jackson.annotation.JsonFormat;例如private BigDecimal rentMonth;解决方法:第一步:1、加注解:@JsonFormat
bigDecimal 返回前端保留小数点后两位问题解决
bigDecimal保留后两位小数 且 返回前端 不丢失小数点后的0 位数不够补零
例 后端返回 decimal 类型 5.00 到前端 会变成5
import com.fasterxml.jackson.annotation.JsonFormat;
例如
private BigDecimal rentMonth;
解决方法:
第一步:1、加注解:@JsonFormat(shape = JsonFormat.Shape.STRING)
备注:注解可以加在属性上或get方法上
第二步:2、修改get方法返回值
例如:
@JsonFormat(shape = JsonFormat.Shape.STRING) public BigDecimal getRentMonth() { return rentMonth == null ? null : rentMonth.setScale(2, BigDecimal.ROUND_HALF_UP); }
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
后端 BigDecimal 保留两位小数 不足两位补0
import java.math.BigDecimal; import java.text.DecimalFormat;
public static void main(String[] args) { // String s = "6.123456"; // String s = "6.126"; String s = "0.126"; // 四舍五入 BigDecimal value = new BigDecimal(s).setScale(2, BigDecimal.ROUND_HALF_UP); // 不足两位小数补0 DecimalFormat decimalFormat = new DecimalFormat("0.00#"); DecimalFormat decimalFormat1 = new DecimalFormat("#0.00"); DecimalFormat decimalFormat2 = new DecimalFormat("#.00"); String strVal = decimalFormat.format(value); System.out.println(strVal); System.out.println(new BigDecimal(strVal)); System.out.println(); String strVal1 = decimalFormat1.format(value); System.out.println(strVal1); System.out.println(new BigDecimal(strVal1)); System.out.println(); String strVal2= decimalFormat2.format(value); System.out.println(strVal2); System.out.println(new BigDecimal(strVal2)); }
结果:
备注 :
DecimalFormat decimalFormat1 = new DecimalFormat("#.00");
这格式化小数点前为零时,会丢失小数点前的0
更多推荐
所有评论(0)