Qt -- 前位补零的几种方法、Qt 格式化补位

Qt 前位补0 的几种方法:

1. arg
    在Qt中 arg(整数类型,补位数,进制,补位字符) 有很多的重载函数。整数类型、浮点、long等等;

    QString QString::arg(qulonglong a, int fieldWidth = 0, int base = 10, QChar fillChar = QLatin1Char( ' ' )) const
//arg(整数类型,补位数,进制,补位字符);

例子:

     实现将17转为0017。

    //10进制数 17  4位  前位补0  strNew = "0017"   

    QString str= QString::number(17);

    //10进制,debug出来 strNew = “0017”
    QString strNew = QString("%1").arg(str.toInt(), 4, 10, QLatin1Char('0'));  

    //16进制 
    QString strNew16 = QString("%1").arg(str.toInt(), 4, 16, QLatin1Char('0'));

    这种方法使用比较简单灵活。

2.sprintf

QString 的方法sprintf 格式化的方法:像C语言一样一个古老的方法。
    %02d:0代表补位的值为零、2表示位数。
    strNumber = strNumber.sprintf("%02d:%02d:%02d", hour, minute, seconds);

 

https://blog.csdn.net/liuzhezhe111/article/details/82155078

 

posted @ 2021-03-26 11:35  手磨咖啡  阅读(1879)  评论(0编辑  收藏  举报