Gson: форматировать двойные значения до 4 десятичных знаков - PullRequest
0 голосов
/ 16 октября 2018

Как можно сделать так, чтобы двойные значения в формате Gson округлялись (или усекались) до 4 десятичных знаков?

Ответы [ 2 ]

0 голосов
/ 17 июля 2019

Если вы пытаетесь это сделать в Kotlin Ответ Амана все еще будет работать, но вы должны использовать токен типа, а не Double.class (или Double :: class.java):

builder.registerTypeAdapter(object: TypeToken<Double>() {}.type, ...
0 голосов
/ 16 октября 2018

Разобрался.Можно использовать адаптер типа:

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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...