不买服务器做网站,便宜网站空间,站酷网素材图库海报设计,免费h5页面制作工具尽管QByteArray类是一个集合#xff0c;但也可以作为一个特殊形式的数值来用#xff0c;其灵活的转换格式可大大一方便各种格式数据转换与显示的需求#xff0c;如显示二进制和十六进制、显示科学记数和指定小数位的数值。QByteArray类的公有静态函数number可以完成这些功能…尽管QByteArray类是一个集合但也可以作为一个特殊形式的数值来用其灵活的转换格式可大大一方便各种格式数据转换与显示的需求如显示二进制和十六进制、显示科学记数和指定小数位的数值。QByteArray类的公有静态函数number可以完成这些功能该函数可以将某个整数转为某种进制的字符数组函数number的原型声明如下
QByteArray number(int n, int base 10)
其中参数n是要转变的整数base是要进行转换的进制进制取值范围为2到36即从二进制到三十六进制。该函数返回整数n对应的base进制的字符数组。下列代码演示了number函数的使用
int n 63;
qDebug () QByteArray: :number (n) ;// returns 63
qDebug ()QByteArray: :number(n, 16);// returns 3f
qDebug()QByteArray::number (n, 16).toUpper(); // returns 3F
qDebug () QByteArray::number (n, 2);// returns 111111
qDebug ()QByteArray: :number (n, 8);// returns 77 与此公有静态函数功能类似的公有函数是setNum该函数也是将某个整数转为某种进制的字符数函数的原型声明如下
QByteArray setNum(int n, int base 10)
其中参数n是要转变的整数base是要进行转换的进制进制取值范围为2到36 即从二进制到三十六进制。该函数返回整数n对应的base进制的字符数组。下列代码演示了setNum函数的使用
QByteArray ba;
int n 63;ba.setNum(n);// ba an 63
ba.setNum(n, 16); ba 3f
因为不是静态函数所以要用对象来调用。此外根据setNum()函数第一个参数的类型setNum函数可以有多种版本比如
QByteArray QByteArray::setNum(ushort n, int base 10)
QByteArray QByteArray::setNum(short n, int base 10)
QByteArray QByteArray::setNum(uint n, int base 10)
QByteArray QByteArray::setNum(qlonglong n, int base 10)
用法类似只是n的取值范围不同。除了整数之外还能把数值按指定格式和小数位转换输出所调用的函数依旧是number只不过参数形式变了
QByteArray number(double n, char f g, int prec 6)
其中参数n是要进行转换的实数f表示转换格式取值如下
其中参数n是要进行转换的实数表示转换格式取值如下e采用指数法表示实数此时实数的格式如[-]9.9E 格式同e不过E要大写。f普通小数表示法此时格式如[-]9.9g 使用e或格式第三个参数表示有效数字位的个数G 使用E或f格式第三个参数表示有效数字位的个数当参数f为e、E或f时prec表示十进制小数点后小数部分的位数;当f为g或G时 prec表示有效数字位数的最大数目。注意小数位要四舍五入。