我怎样才能使Gson格式的双精度值四舍五入(或截断)到4个小数位?
q9yhzks01#
想通了.可以用一个类型适配器:
GsonBuilder builder = new GsonBuilder(); builder.registerTypeAdapter(Double.class, (JsonSerializer<Double>) (src, typeOfSrc, context) -> { DecimalFormat df = new DecimalFormat("#.####"); df.setRoundingMode(RoundingMode.CEILING); return new JsonPrimitive(Double.parseDouble(df.format(src))); }); Gson gson = builder.create();
eivgtgni2#
如果您在**Kotlin * a中尝试此操作,Aman的答案仍然有效,但您必须使用类型标记,而不是Double.class(或Double::class.java):
builder.registerTypeAdapter(object: TypeToken<Double>() {}.type, ...
2条答案
按热度按时间q9yhzks01#
想通了.可以用一个类型适配器:
eivgtgni2#
如果您在**Kotlin * a中尝试此操作,Aman的答案仍然有效,但您必须使用类型标记,而不是Double.class(或Double::class.java):