c++ - Qt QString toInt() 失败

标签 c++ qstring

我有一个包含“-3.5”的“QString”,但是如果我尝试使用“toInt”方法将其转换为整数,它会返回 0。为什么?

    QString strTest = "-3.5";
    int intTest = strTest.toInt();

    qDebug() << intTest;

intTest 将为 0 ?

最佳答案

相对于std::stoi和来自标准库的流,Qt 字符串要求整个字符串是一个有效的整数来执行转换。您可以使用 toDouble 作为解决方法。

您还应该使用可选的 ok 参数来检查错误:

QString strTest = "-3.5";
book ok;
int intTest = strTest.toInt(&ok);
if(ok) {
    qDebug() << intTest;
} else {
    qDebug() << "failed to read the string";
}

关于c++ - Qt QString toInt() 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39817068/

相关文章:

c++ - 来自 Tsai 校准参数的 3x3 单应矩阵

c++ - boost 枚举的自定义验证器

c++ - 通过 WinSocket 客户端/服务器应用程序重用套接字

c++ - 什么是 "right"类型删除成员函数指针的方法?

c++ - 如何将表示指数形式的十进制数的字符串转换为 Qt 中的 float ?

c++ - QStringList::split - 将带有数据的长字符串拆分为多个不同的 QString

c++ - 在Qt中获取父类(super class)中子类的名称

c++ - 模板化 map /字典实现

c++ - 将多行 QString 转换为单行 QString

c++ - 在特定索引c++/Qt的另一个字符串中插入字符串