Название: dec2hex с лидирующими нулями [РЕШЕНО] Отправлено: simark1979 от Май 06, 2012, 20:04 Добрый день!
Кто подскажет, как красиво получить hex-строку из unsigned char, причём если hex-значение меньше 10, надо получить лидирующий ноль. (т.е. (dec)10 -> (hex)0A) Это работает, но нет лидирующего нуля: QString("Decimal 10 is %1 in hexadecimal").arg(10, 0, 16); Результат: 10->A; а надо 10->0A И это работает, но также нет лидирующего нуля: QString("Decimal 10 is %1 in hexadecimal").arg(QString::number(10, 16); Результат: 10->A; а надо 10->0A Раньше как-то делал, но код утерян, забыл :) Спасибо! Название: Re: dec2hex с лидирующими нулями? Отправлено: Serr500 от Май 06, 2012, 20:28 Код: unsigned char uc; или так Код: QString S; Название: Re: dec2hex с лидирующими нулями? Отправлено: simark1979 от Май 06, 2012, 20:35 Код: unsigned char uc; Спасибо! Если ничего лаконичней не придумаем, будем использовать этот вариант, но можно обойтись готовыми библиотеками Qt :) делал точно (тогда тоже потерял много времени, но решил) Название: Re: dec2hex с лидирующими нулями? Отправлено: kambala от Май 06, 2012, 20:37 Код
Название: Re: dec2hex с лидирующими нулями? Отправлено: simark1979 от Май 06, 2012, 20:41 Код
Так пробовал: Результат: "8.000000000000000000000000000000000000000000000000" Название: Re: dec2hex с лидирующими нулями? Отправлено: simark1979 от Май 06, 2012, 20:44 Код
Так пробовал: Результат: "8.000000000000000000000000000000000000000000000000" Скажу больше. если с=25; Результат: "25.000000000000000000000000000000000000000000000000" т.е. нет никакого переобразования Название: Re: dec2hex с лидирующими нулями? Отправлено: kambala от Май 06, 2012, 20:44 значит символ нуля оберни в QChar
Название: Re: dec2hex с лидирующими нулями? Отправлено: simark1979 от Май 06, 2012, 20:48 значит символ нуля оберни в QChar Вот!!!Заработало :) Работающий код: unsigned char c = 10; QString hex = QString("%1").arg(c, 2, 16, QChar('0')); Огромное спасибо! |