Qt QString中arg的使用,以及保留小数位数

QString 功能强大,尤其是arg函数特别丰富好用,可用于对数字的长度的对齐,和不同数值之间进制转换后显示的字符串,以及%1 %2 %3等字符的替换。

1 arg 数值转字符串补齐长度

源函数如下:

fieldWidth :格式化后的字符串宽度;
base :指定将整数a转换为字符串时使用的基数(默认是十进制),还可以是二进制2 ,十六进制 16;
fillChar :待填充字符

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

默认数值是3,填充长度为4,显示为10进制,长度不够就补0,最后字符串为“0003”

 int num = 3;
    QString  str = QString("%1")
             .arg(num, 4, 10, QChar('0'));
    // str == "0003"
    qDebug() << str;

对于浮点数,可通过QString::number来决定保留小数点的位数

 QString  str = QString::number(32, 'f', 2);
    // str == "32.00"
    qDebug() << str;

在这里插入图片描述

2 arg 数值按照进制格式化成字符串

将10进制的63变成16进制的3f

  QString str;
     str = QString("Decimal 63 is %1 in hexadecimal")
             .arg(63, 0, 16);
     // str == "Decimal 63 is 3f in hexadecimal"
    qDebug() << str;

还可以根据不同国家的千位分隔符显示数值字符串

 QLocale::setDefault(QLocale(QLocale::English, QLocale::UnitedStates));
 QString  str = QString("normal:%1     long split: %L2   hexadecimal: %L3")
             .arg(12345)
             .arg(12345)
             .arg(12345, 0, 16);
     // str == "normal:12345     long split: 12,345   hexadecimal: 3039"
    qDebug() << str;
3 arg %1 %2…%99位置替换为字符

首先,arg(my)替换%1。然后arg(he)替换%2。最后,arg(word)替换%3。

  QString my = "my";
  QString he = " Hello ";
  QString word = "Word";
  QString str = QString("Look this is %1 And %2 : %3").arg(my).arg(he).arg(word);
  qDebug() << str;
// 输出 str = "Look this is my And  Hello  : Word"
  • 5
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值