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、