Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Преобразование Long в число с плавающей запятой и целое число

Автор вопроса: sadasОтветов: 1

У меня есть объект с некоторой статистикой процессора. Проблема в том, что те, что имеют тип long (я думаю)

Как я могу преобразовать это в полезные значения, такие как float и int?

Я пытался бросить его, но я получил

java.lang.ClassCastException: java.lang.Long нельзя преобразовать в java.lang.Float

введите здесь описание изображения

float value = (float) Docker.getStatistics("ENVX").getCpuStats().get("system_cpu_usage");
  • Почему вы хотите преобразовать long (или Long) в float? Вы потеряете точность. Eran 03.01.2018
  • longs, безусловно, являются полезными значениями. На самом деле в большинстве случаев полезнее, чем float. OH GOD SPIDERS 03.01.2018
  • Из интереса, что не полезно в long? Bathsheba 03.01.2018
  • Возможный дубликат Получить использование ЦП контейнера Docker в процентах OH GOD SPIDERS 03.01.2018
  • Я имею в виду, что просто хотел показать фактические данные. Это API, и значения указаны в формате long. Я хочу показать проценты процессора sadas 03.01.2018

java

Ответы

Ответ 1 · рейтинг 3 · Konstantin Yovkov

Я действительно не понимаю, почему вы хотите преобразовать 64-битное значение в 32-битное, рискуя потерять точность, но вы можете попробовать:

Long cpu = Docker.getStatistics("ENVX").getCpuStats().get("system_cpu_usage");
Float f = Float.valueOf(cpu.toString());

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы