廣西桂林為什么窮優(yōu)化網(wǎng)站排名技巧
一、
1、QMessageBox::warning(this,?tr("查找"),?tr("找不到%1").arg(str));
其中 %1為占位符,QMessageBox顯示時,arg中的變量值會替代 %1占位符,達(dá)到在QMessageBox彈出框中輸出變量的目的。
2、const QString entry = tr("Address: %1, Value_hex: %2, Value_dec: %3").arg(unit.startAddress()).arg("0x"+QString::number(unit.value(i),16)).arg(QString::number(unit.value(i),10));
=》%n和arg()按順序一一對應(yīng)
二、
QString的格式化,我們主要用到的是arg()函數(shù),該函數(shù)有很多重載:
QString arg(const QString &a, int fieldWidth = 0, QChar fillChar = QLatin1Char(' ')) const
QString arg(qlonglong a, int fieldWidth = 0, int base = 10, QChar fillChar = QLatin1Char(' ')) const
QString arg(qulonglong a, int fieldWidth = 0, int base = 10, QChar fillChar = QLatin1Char(' ')) const
————————————————
參數(shù)解析:
- fieldWidth 代表限制的字符串寬度
- base 代表進(jìn)制
- fillChar 代表填充的字符
1、限制字符串寬度,不夠則在前面補零
//限制字符串寬度,不夠則在前面補零
QString strNumber = QString::number(23);
//十進(jìn)制數(shù)23,字符串寬度:4
QString strConv = QString("%1").arg(strNumber.toInt(), 4, 10, QLatin1Char('0'));
qDebug() << "strConv=" << strConv;//0023
//十進(jìn)制的23 轉(zhuǎn)為十六進(jìn)制數(shù),字符串寬度:4
strConv = QString("%1").arg(strNumber.toInt(), 4, 16, QLatin1Char('0'));
qDebug() << "strConv=" << strConv;//0017
//十進(jìn)制32 轉(zhuǎn)為十六進(jìn)制,,字符串寬度:0
strConv = QString("%1").arg(32, 0, 16);
qDebug() << "strConv=" << strConv; //20
字符串補零的手動版本:
QString fillWithZero(const QString& src, int length)
{
?? ?QString pattern;
?? ?for (int i = 0; i < length; i++)
?? ??? ?pattern.append("0");
?? ?return (pattern + src).right(length);
}
2、保留小數(shù)點后幾位數(shù)
//整數(shù)轉(zhuǎn)QString
QString strInt = QString::number(123);
qDebug() << "strInt=" << strInt;
//小數(shù)轉(zhuǎn)QString,保留兩位小數(shù)
QString strDouble = QString::number(123.456789, 'f', 2);
qDebug() << "strDouble=" << strDouble;//123.46
————————————————
?