一、背景:
数据库中的数据为Double类型,小数点位数比较多,只想显示前两位
二、过程
2.1 实体类pojo中对应的JavaType用String
@Data
public class XXD3JK1 {
@JSONField(name = "SUCCESS_RATE")
private String SUCCESS_RATE;
}
2.2 通过 DecimalFormat对象来实现小数点位数限制
该对象输入值类型需要数值型
返回值String
2.3 实现代码如下
@RestController
@RequestMapping("/one")
public class testDouble {
@Autowired
private XXD3JK1Mapper xxd3JK1Mapper;
@RequestMapping("/0")
public void test() {
List<XXD3JK1> list = xxd3JK1Mapper.findAll();
//在功能之前遍历一下改数据再写回去,
for (XXD3JK1 XXD : list) {
DecimalFormat df = new DecimalFormat("#.000");
String s = XXD.getSUCCESS_RATE();
double d = Double.parseDouble(s);
String s1 = df.format(d);
XXD.setSUCCESS_RATE(s1);
}
Iterator<XXD3JK1> iterator = list.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
}
}
}
2.4 返回结果如下
三、总结
DecimalFormat 实现转换的类输入为数值类型,返回为String类型。