1、QString格式化arg前面自动补0
格式化格式:
QString QString::arg(long a, int fieldWidth = 0, int base = 10, QChar fillChar = QLatin1Char(' ')) const
QString QString::arg(int a, int fieldWidth = 0, int base = 10, QChar fillChar = QLatin1Char(' ')) const
//QString格式化arg前面自动补0
QString str = QString("%1:%2:%3").arg(hour, 2, 10, QLatin1Char('0')).arg(min, 2, 10, QLatin1Char('0')).arg(sec, 2, 10, QLatin1Char('0'));
QStringList list;
list << tr("%1").arg(hour) << tr("%1").arg(min) << tr("%1").arg(sec);
int val = 16;
//0f
QString str = QString("%1").arg(val & 0xFF, 2, 16, QLatin1Char('0'));
//0016
QString str = QString("%1").arg(val, 4, 10, QLatin1Char('0'));
//4代表宽度,10表示10进制,空位补零
2、进制转换
QString ss = QString("十进制64转为十六进制%1").arg(64, 0, 16);
//0代表宽度,16表示16进制,空位补零
3、数字转QString,并保留小数点位数
//整数转QString
int num1=123;
QString str1 = QString::number(num1);
qDebug()<<"str1:"<<str1<<endl;
//小数转QString,保留两位小数
double num2 = 123.456789;
QString str2=QString::number(num2,'f',2);
qDebug()<<"str2:"<<str2<<endl;
4、数字转QString,使用asprintf,(没作用)
ui->comboBox_pulse->addItem(QString::asprintf("%d", PULSE_LOW));
ui->lineEdit_x->setText(QString::asprintf("%.3f", m_stuMotionPos.X));