Как я могу заполнить строковое представление левой кнопкой мыши? - PullRequest
3 голосов
/ 23 июня 2009

Я пытаюсь преобразовать число с плавающей запятой одинарной точности в представление ascii четырех байтов, которые его составляют (знак / экспонента / мантисса). Мой текущий код:

Integer.toString(Float.floatToRawIntBits(f),16);

Float.floatToRawIntBits создает целое число, используя те же байты, а затем Integer.toString создает цифры ascii в шестнадцатеричной форме (отсюда и указано radix = 16). Моя проблема в том, что мне всегда нужно 8 символов ascii плюс необязательный знак '-', и Integer.toString не дополняется левыми боковыми нулями.

Кто-нибудь может предложить элегантное решение?

Спасибо.

1 Ответ

8 голосов
/ 24 июня 2009

Вы можете использовать String.format () :

String.format("%08x", Float.floatToRawIntBits(f))

Это приведет к нулю результата и форматированию его как шестнадцатеричное число. Подробности о форматных строках можно найти здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...