欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > QT: `long long` 类型转换为 `QString` 2025.6.5

QT: `long long` 类型转换为 `QString` 2025.6.5

2025/6/9 5:54:12 来源:https://blog.csdn.net/sinat_34897952/article/details/148454666  浏览:    关键词:QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现:

方法 1:使用 QString::number()

直接调用 QString 的静态方法 number(),将数值转换为字符串:

long long value = 1234567890123456789LL;
QString str = QString::number(value);
支持的参数(可选):
  • 基数:指定进制(默认为十进制):
    QString hexStr = QString::number(value, 16); // 十六进制
    QString binStr = QString::number(value, 2);  // 二进制
    
  • 填充与对齐(示例):
    QString alignedStr = QString::number(value, 10, 10, QLatin1Char('0')); // 右对齐,填充0
    

在这里插入图片描述

方法 2:使用 QString::arg()

通过格式化字符串模板(%1%2 等)动态插入数值:

long long value = 1234567890123456789LL;
QString str = QString("%1").arg(value);
高级用法:
  • 指定进制(需显式声明类型 %lld):
    QString str = QString("%1").arg(value, 0, 10); // 十进制
    QString hexStr = QString("%1").arg(value, 0, 16); // 十六进制
    
  • 填充与对齐
    QString alignedStr = QString("%1").arg(value, 20, '0'); // 右对齐,总长度20,填充0
    

完整示例

#include <QDebug>
int main() {long long value = 1234567890123456789LL;// 方法1:QString::number()QString str1 = QString::number(value);qDebug() << "Method 1 (十进制):" << str1;// 方法2:QString::arg()QString str2 = QString("%1").arg(value);qDebug() << "Method 2 (十进制):" << str2;// 十六进制示例QString hexStr = QString::number(value, 16);qDebug() << "十六进制:" << hexStr;return 0;
}

注意事项

  1. 负数处理:两种方法均自动处理负数,结果字符串会包含负号(-)。
  2. 性能QString::number() 略快于 arg(),但两者差异微小,通常无需优化。
  3. 版本兼容性:Qt 4.5+ 均支持 long long 类型。
    根据需求选择方法即可,推荐使用 QString::number() 或简洁的 arg() 语法。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词