Qt532.数值转为16进制(并填充)

ZC:QString::number(要转换的数值, 需要转换的目标进制);

ZC:QString("%1").arg(要转换的数值, 需要填充到?位, 需要转换的目标进制, 用于填充的字符);

1、测试代码:(Win7 + Qt5.3.2(OpenGL) + vs2010)

    // 转为16进制(不填充)
    int i = 255;
    QString strI = QString::number(i, 16);
    MessageBoxA((HWND)this->winId(), strI.toStdString().c_str(), "i - 00", 0);
    // 手动填充
    QString strI01 = strI.leftJustified(5, QLatin1Char('0'));
    MessageBoxA((HWND)this->winId(), strI01.toStdString().c_str(), "i - 01", 0);
    QString strI02 = strI.rightJustified(6, QLatin1Char('0'));
    MessageBoxA((HWND)this->winId(), strI02.toStdString().c_str(), "i - 01", 0);

    // 转为16进制(并且填充)
    int a = 3;
    QString strA = QString("%1").arg(a, 14, 10, QLatin1Char('0'));
    MessageBoxA((HWND)this->winId(), strA.toStdString().c_str(), "a", 0);

    // 转为16进制(并且填充)
    int x = 9;
    int y = 91;
    QString strPoint = QString("\"%1\", \"%2\"")
                        .arg(x, 4, 10, QLatin1Char(' '))
                        .arg(y, 4, 10, QLatin1Char(' '));
    MessageBoxA((HWND)this->winId(), strPoint.toStdString().c_str(), "x,y", 0);

2、输出:

  2.1、            2.2、            2.3、

                

  2.4、            2.5、

           

3、

4、

5、

猜你喜欢

转载自www.cnblogs.com/cppskill/p/9241957.html