一、保证长度
在进行int转qstring的过程中,有时候需要保证转换后的字符串长度一致,这时候我们可以使用QString的leftJustified()和rightJustified()方法,通过左对齐和右对齐来保证字符串长度。
int i = -123; QString str = QString::number(i).rightJustified(6, '0'); // str的值为"-00123"
上面的代码中,我们将整数i转换为字符串str,并通过rightJustified()方法来保证字符串长度为6,并且在左侧用字符'0'填充。
除了rightJustified()方法,QString还提供了leftJustified()方法,它用法与rightJustified()类似,只是在右侧用字符填充。
二、int转qstring小端在前
在某些情况下,我们需要以小端模式来将整数转换为字符串,比如在网络数据传输中。这时候,我们可以使用QDataStream类来实现。
int i = 12345; QByteArray buffer; QDataStream out(&buffer, QIODevice::WriteOnly); out << i; QString str = QString::fromLatin1(buffer); // str的值为"\x39\x30\x01\x00"
上面的代码中,我们将整数i用QDataStream的方式写入byte数组中,然后将byte数组转换为字符串。转换后的字符串为16进制形式,其中小端模式下的i值为0x01 0x00 0x39 0x30。
三、int转qstring qt
Qt提供了QString::number()方法,可以方便地将整数转换为字符串。
int i = 123; QString str = QString::number(i); // str的值为"123"
上面的代码中,我们使用QString::number()方法将整数i转换为字符串,并将结果存储到str中。
四、int转string
C++标准库中的std::to_string()方法可以将整数转换为std::string类型的字符串。
#includeint i = 12345; std::string str = std::to_string(i); // str的值为"12345"
上面的代码中,我们使用std::to_string()方法将整数i转换为std::string类型的字符串,并将结果存储到str中。
五、int转varchar
如果我们需要将整数转换为SQL中的varchar类型,可以使用QString::setNum()方法。
int i = 123; QString str; str.setNum(i); // str的值为"123"
上面的代码中,我们使用QString::setNum()方法将整数i转换为字符串,并将结果存储到str中。
六、int转char
将整数转换为char类型的字符串可以使用sprintf()函数。
#includeint i = 123; char buffer[10]; sprintf(buffer, "%d", i); // buffer的值为"123"
上面的代码中,我们使用sprintf()函数将整数i转换为char类型的字符串,并将结果存储到buffer中。
七、int转byte
将整数转换为byte类型(即uchar)的字符串可以使用Qt的QString::number()方法,并且指定基数为16。
int i = 255; QString str = QString::number(i, 16).rightJustified(2, '0'); // str的值为"FF"
上面的代码中,我们使用QString::number()方法将整数i转换为16进制的字符串,并保证字符串长度为2。
八、char转string
将char类型的字符串转换为QString可以使用QString::fromLatin1()方法。
char buffer[] = "Hello"; QString str = QString::fromLatin1(buffer); // str的值为"Hello"
上面的代码中,我们使用QString::fromLatin1()方法将char类型的字符串转换为QString类型,并将结果存储到str中。
九、float转qstring
将浮点数转换为QString可以使用QString::number()方法,并且指定小数位数。
float f = 3.1415926; QString str = QString::number(f, 'f', 2); // str的值为"3.14"
上面的代码中,我们使用QString::number()方法将浮点数f转换为QString类型,并保留2位小数。结果存储到str中。
十、int转char数组
将整数转换为char数组可以使用sprintf()函数。
#includeint i = 123; char buffer[10]; sprintf(buffer, "%d", i); // buffer的值为"123"
上面的代码中,我们使用sprintf()函数将整数i转换为char类型的字符串,并将结果存储到buffer中。