问题描述
Gson 转json 的时候 0.00 会转成0.0 ,有没有方式让它转正确,或者转为“0.00” 也可以
解决方案
可以在GsonBuilder中注册typeAdapter,定制序列化double的过程private static final GsonBuilder builder=new GsonBuilder();builder.registerTypeAdapter(Double.class, new DoubleTypeAdapter());Gson gson=builder.create();TypeAdapter的实现如下class DoubleTypeAdapter implements JsonSerializer<Double>{@Overridepublic JsonElement serialize(Double d, Type type,JsonSerializationContext context) {DecimalFormat format=new DecimalFormat("##0.00");String temp=format.format(d);System.out.println(temp);JsonPrimitive pri=new JsonPrimitive(temp);return pri;}}
解决方案二:
A a = new A(); a.setId(1); a.setS1("7.00"); System.out.println(JsonUtils.objToJosn(a).toString());我刚才实验了。的确会省略一个0.我最后的做法。。。只能 传入String 。然后往外转了。
时间: 2024-11-05 08:30:22