Формат числовой c строка в десятичном формате - PullRequest
0 голосов
/ 22 апреля 2020

Я запросил API и получил долларовую котировку следующим образом 0000045717472

Мой Java код здесь

Map<String, Object> data = new HashMap<>();

JsonParser parser = new JsonParser();
JsonObject json = (JsonObject) parser.parse(response.toString());
JsonElement dolarDia = json.get("Dolar");

data.put("dataResponse", dolarDia);

return data;

Как я могу выполнить способ конвертации это в реальном формате валюты: 4.57?

1 Ответ

0 голосов
/ 23 апреля 2020

Вам нужно обработать ввод самостоятельно чем-то похожим на приведенное ниже, что включает преобразование ввода в число c, поскольку число слишком длинное, используйте Long.

Long lAmount = Long.parseLong("0000045717472");

, а затем дробьте их в соответствии с до номера, который вы хотите. А затем отформатируйте десятичное значение с помощью DecimalFormat

double fraction = Math.pow(10,7);
String format = decimalFormat.format(lAmount/fraction); // print 4.57
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...