【问题标题】:Qt C++ Convert QString to longQt C++ 将 QString 转换为 long
【发布时间】:2013-03-10 07:07:12
【问题描述】:

我正在尝试使用以下命令将 QString 转换为 long:

        QTextStream stream(&file);
        QString content = stream.readAll();
        qDebug() << "String: " << content;
        bool ok;
        long long a = content.toLong(&ok, 10);
        qDebug() << a;
        file.close();

但我从 qDebug 得到以下输出:

String:  "123451234512345
" 
0 

似乎这个 qstring 无法转换为 long long 变量,因为我总是得到 0。我尝试转换较小的数字,如 1234 并且它有效,但是当我尝试转换这个大数字时,我遇到了问题。请帮忙

【问题讨论】:

    标签: c++ qt


    【解决方案1】:

    无符号长整数(32 位)的最大值为 4294967295 - 有符号长整数的一半 - 您的值已超过该值。您应该改用toLongLong 函数。

    【讨论】:

      【解决方案2】:

      你已经超出了长期的界限。字符串中的数字太大。长时间查找最大尺寸。试试 tolonglong 。 http://qt-project.org/doc/qt-4.8/qstring.html#toLongLong

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-12-23
        • 2014-04-18
        • 1970-01-01
        • 2016-10-14
        • 1970-01-01
        • 1970-01-01
        • 2014-08-17
        相关资源
        最近更新 更多