淄博公益网站建设,有哪些做推送的网站,wordpress从哪里登录密码,江西加油app下载官网前言 开发时经常涉及到数据类型的转换#xff0c;为方便温故知新、提升开发效率#xff0c;现将 Qt 开发部分常用的数据类型转换方式形成工具文档供查询、参考。 1. int 转 QString 1#xff09;函数#xff1a;QString::number
2#xff09;函数原型 //将数字#xff0…
前言 开发时经常涉及到数据类型的转换为方便温故知新、提升开发效率现将 Qt 开发部分常用的数据类型转换方式形成工具文档供查询、参考。 1. int 转 QString 1函数QString::number
2函数原型 //将数字整数、浮点数、有符号、无符号等转换为QString类型//根据指定的基数返回与数字n等价的字符串。基数默认为10取值范围必须在2到36之间。对于非10的基数n被视为无符号整数。static QString number(int n, int base10);static QString number(uint n, int base10);static QString number(long n, int base10);static QString number(ulong n, int base10);static QString number(qlonglong n, int base10);static QString number(qulonglong n, int base10);//返回数字n的等效字符串根据指定的格式和精度进行格式化。有关详细信息请参见参数格式。//与QLocale::toString()不同此函数不遵循用户的语言环境设置。static QString number(double n, char fg, int prec6);3参数说明 参数1待转换数字 参数2要转换的目标进制 参数3如果参数2为浮点数为前提参数3表示要保留小数位数
默认情况下是十进制显示方式转换也可以使用八进制、十六进制显示方式调用。 4使用示例
//整型转换成字符串
int iNum 100;
QString qstrNum QString::number(iNum, 10); // qstrNum “100”//整型转换成16进制字符串类型
long lNum 63;
QString sNum QString::number(lNum , 16); // sNum 3f
QString tNum QString::number(lNum , 16).toUpper(); // tNum 3F//浮点类型转换成字符串并保留2位小数
float fNum4.567;
QString sfNum QString::number(fNum,‘f’, 2); //sfNum 4.56//整数转换为字符串并保留3位不足在前面补0比如9转换成字符串009
int iSrc 9;
QString str1 QString::number(iSrc).sprintf(%03d,iSrc); //str1 009
QString str2 QString(%1).arg(iSrc, 3, 10, QChar(0)); //str2 0092. QString 转 int 1函数QString::toInt
2函数原型
//返回使用base基准转换为int型的字符串默认值为10必须介于2到36之间或者0。如果转换失败返回0。
int QString::toInt(bool *ok nullptr, int base 10) const3参数说明 参数1返回的执行结果如果ok不是nullptr则将ok设置为false表示失败将ok设置为true表示成功。 参数2要转换的目标进制。
参数2默认情况下是十进制显示方式转换也可以使用八进制、十六进制显示方式调用。如果基数为0则使用C语言惯例如果字符串以0x开头则使用基数16;如果字符串以“0”开头则使用进制8否则默认以10为基准。
字符串转换将始终在’C’语言环境中进行。对于语言环境相关的转换使用QLocale::toInt()。 4使用示例 QString number 123;int inum number.toInt(); //inum 123QString str FF;bool ok;int hex str.toInt(ok, 16); // hex 255, ok trueint dec str.toInt(ok, 10); // dec 0, ok false3. std::string 转 QString 1函数QString::fromLocal8Bit
2函数原型
//Returns a QString initialized with the first size characters of the 8-bit string str.
//If size is -1 (default), it is taken to be strlen(str).
QString QString::fromLocal8Bit(const char *str, int size -1)3参数说明 参数1要转换的源数据。 参数2要转换的长度默认为-1表示全部转换。 4使用示例 //全部转换std::string xhjName bcd;QString xhj QString::fromLocal8Bit(xhjName.c_str()); //xhj bcd//指定长度转换std::string xName 123456;QString qsName QString::fromLocal8Bit(xName.c_str(),3); //qsName 1234. QString 转 std::string 1函数QString::toStdString
2函数原型
//Returns a std::string object with the data contained in this QString.
//The Unicode data is converted into 8-bit characters using the toUtf8() function.
std::string QString::toStdString() const3参数说明 无 4使用示例 QString qsName 123456;std::string str qsName.toStdString(); //str 1234565. QString 转 const char* 1函数QString::toStdString
2函数原型
//Returns a std::string object with the data contained in this QString.
//The Unicode data is converted into 8-bit characters using the toUtf8() function.
std::string QString::toStdString() const3参数说明 无 4使用示例 QString qsStr abc;const char* dst qsStr.toLocal8Bit().data();std::string strarr1 qsStr.toStdString();const char *arr0 strarr1.c_str(); //arr0 abcconst char *arr1 strarr1.data(); //arr1 abc6. QString 转 char* 1函数QString::toLatin1
2函数原型
//Returns a Latin-1 representation of the string as a QByteArray.
//The returned byte array is undefined if the string contains non-Latin1 characters. Those characters may be suppressed or replaced with a question mark.
QByteArray QString::toLatin1() const3参数说明 无 4使用示例 QString qsStr abc;QByteArray ba qsStr.toLatin1();char *arr3 ba.data(); //arr3 abc7. QString 转 ASCII 码 1函数QString::toLatin1
2函数原型
//Returns a Latin-1 representation of the string as a QByteArray.
//The returned byte array is undefined if the string contains non-Latin1 characters. Those characters may be suppressed or replaced with a question mark.
QByteArray QString::toLatin1() const3参数说明 无 4使用示例 QString str abc;QByteArray array str .toLatin1();for (int i 0; i array.size(); i){int ich (int)array.at(i); // ich 97 98 99}8. ASCII 转 QString 示例 //int转对应ASCII的字符串如转65为A字符串QString str (QChar)(65); //str A//ASCII 数值 97 98 99 转成 a b cQByteArray array;array.append(97);array.append(98);array.append(99);for (int i 0; i array.size(); i){QString dst QChar(array.at(i)); // a b c}