QString格式化的幾種用法

QString QString::arg(long a, int fieldWidth = 0, int base = 10, QChar fillChar = QLatin1Char(' ')) constui

QString QString::arg(int a, int fieldWidth = 0, int base = 10, QChar fillChar = QLatin1Char(' ')) constcode

 

一、QString格式化arg前面自動補0it

int seconds = m_calc.elapsed() / 1000;
int hour = int(seconds / 3600);
int min = int((seconds - hour * 3600) / 60);
int sec = seconds % 60;

//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進制,空位補零

二、進制轉換io

QString ss = QString("十進制64轉爲十六進制%1").arg(64, 0, 16);
//0表明寬度,16表示16進制,空位補零

 

三、保留小數點位數class

//整數轉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;

 

四、使用asprintfsed

ui->comboBox_pulse->addItem(QString::asprintf("%d", PULSE_LOW));
ui->lineEdit_x->setText(QString::asprintf("%.3f", m_stuMotionPos.X));
相關文章
相關標籤/搜索