QT数字转字符串(int float double ->QString)

1、 number函数

QString::number是将数数字(整数、浮点数、有符号、无符号等)转换为QString类型,常用于UI数据显示。查看API接口,number提供如下几种类型的转换,适合各种场合调用。

static QString number(int, int base=10);
static QString number(uint, int base=10);
static QString number(long, int base=10);
static QString number(ulong, int base=10);
static QString number(qlonglong, int base=10);
static QString number(qulonglong, int base=10);
static QString number(double, char f='g', int prec=6);

第一个参数:待转换数字
第二个参数(整型):转换进制
第二个参数(浮点数):浮点数格式
第三个参数(浮点数):保留小数位数
默认情况下是十进制显示方式转换,也可以使用八进制、十六进制显示方式调用。
最后一个 char f=‘g’:
QT数字转字符串(int float double ->QString)_第1张图片

2、QString::number 整数转换

int a = 20;
uint b =255;
QString::number(a);
QString::number(a,10);
QString::number(b);
QString::number(b,16);

结果:“20”,“20”,“255”,“ff”。

3、QString::number 浮点数转换

1)保留2位小数

float a;
QString::number(a,‘f’, 2);  

例如:
1.234,结果:1.23
1,结果:1.00
2)保留2位有效数字,以简单方式表示,或者科学计数法表示

float a;
QString::number(a, ‘g’, 2); 

例如:
0.00001,结果:1e-5
0.00012,结果:1.2e-4
1.23,结果:1.2

3)保留指定位数(如001)
整数转换为字符串,并保留3位,不足在前面补0,这一块其实属于“sprintf”格式函数的范畴:

int a=1;
QString str=QString::number(a).sprintf("%03d",a);
//或者
QString str=QString("%1").arg(a, 3, 10, QChar('0'));

转载至:https://blog.csdn.net/qq_20553613/article/details/78973212

你可能感兴趣的:(【QT】,qt,开发语言)