Gson:将双精度值格式化为 4 个小数位

Ama*_*ngh 3 java json gson

我怎样才能让 Gson 格式的双精度值四舍五入(或截断)到 4 个小数位?

Ama*_*ngh 6

弄清楚了。可以使用类型适配器:

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();
Run Code Online (Sandbox Code Playgroud)