首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Qt QString toInt()失败

Qt QString toInt()失败
EN

Stack Overflow用户
提问于 2016-10-02 04:37:11
回答 2查看 6.7K关注 0票数 3

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    QString strTest = "-3.5";
    int intTest = strTest.toInt();

    qDebug() << intTest;

intTest是0吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-02 04:39:04

与标准库中的std::stoi和流不同,Qt字符串要求整个字符串是执行转换的有效整数。您可以使用toDouble作为解决方案。

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
QString strTest = "-3.5";
book ok;
int intTest = strTest.toInt(&ok);
if(ok) {
    qDebug() << intTest;
} else {
    qDebug() << "failed to read the string";
}
票数 6
EN

Stack Overflow用户

发布于 2016-10-02 04:41:03

如果你看看文献资料,上面写着

如果转换失败,则返回0。

你应该用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
bool ok;
strTest.toInt(&ok);

然后检查ok的值-否则,您将无法确定0是实际值,还是失败的指示。

在这种情况下,它失败了,因为它实际上不是一个整数(它有一个小数点)。请注意,您可以使用toDouble (并在那里检查ok!),然后按您认为合适的方式转换结果。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
QString strTest = "-3.5";

bool ok;
double t = strTest.toDouble(&ok);

if(ok)
    qDebug() << static_cast<int>(t);
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39817068

复制
相关文章
怎样从Ubuntu16.04升级到18.04
最新的 Ubuntu LTS 版本 Ubuntu 18.04 (Bionic Beaver) 于 2018 年 4 月 26 日发布,它将支持 5 年,直到 2023 年 4 月。在本教程中,我们将向您展示如何升级 Ubuntu 16.04 或更高版本的安装到 Ubuntu 18.04(仿生海狸)。
Laikee
2022/06/06
2.9K0
Ubuntu16.04:apt、dpkg使用
apt会解决和安装模块的依赖问题,并会咨询软件仓库, 但不会安装本地的deb文件, apt是建立在dpkg之上的软件管理工具。
新码农
2021/01/04
1K0
Linux包系列的知识(附:Ubuntu16.04升级到18.04的案例)
Linux基础:https://www.cnblogs.com/dunitian/p/4822808.html#linux
逸鹏
2018/07/23
1.5K0
Linux包系列的知识(附:Ubuntu16.04升级到18.04的案例)
聊聊我认为的OpenFeign
此篇文章不从源码角度解析,网上一搜一大把。我个人的习惯是自己评估与思考下大概的设计思路是什么,然后看源码与博客佐证。否则一来就是使用然后看源码,一坨一坨的代码,真的看的头疼。以上仅是个人的学习方法。
Ryan_OVO
2023/10/19
1220
聊聊我认为的OpenFeign
Linux包系列的知识(附:Ubuntu16.04升级到18.04的案例)
Linux基础:https://www.cnblogs.com/dunitian/p/4822808.html#linux
逸鹏
2018/06/01
1.7K0
Linux包系列的知识(附:Ubuntu16.04升级到18.04的案例)
apt 与 dpkg[通俗易懂]
“dpkg ”是“Debian Packager ”的简写。为 “Debian” 专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自“Debian”的“Linux ”发行版都使用 “dpkg”,例如 “Ubuntu”、“Knoppix ”等。 dpkg是Debian软件包管理器的基础,它被伊恩·默多克创建于1993年。dpkg与RPM十分相似,同样被用于安装、卸载和供给.deb软件包相关的信息。 dpkg本身是一个底层的工具。上层的工具,如APT,被用于从远程获取软件包以及处理复杂的软件包关系。 “dpkg”是“Debian Package”的简写。
全栈程序员站长
2022/11/09
1.6K0
第一章 第一节 postgresql安装与配置
本次安装环境为Ubuntu18.04 Server,postgresql采用10版本。
cn華少
2018/12/25
9510
我与Python | 从Hacker到探索Deep Learning
为什么是Python 人生苦短,我用Python... 'Life is short, you need Python!' 进入大学之后,我们逐渐“被教授”了C、C++、Java等编程语言,但为什么我
用户1332428
2018/03/09
1.2K0
我与Python | 从Hacker到探索Deep Learning
安装好Ubuntu18.04之后要做的事!!大全、详细教程!
如果出现依赖错误,那么就输入sudo apt install -f 解决依赖错误问题即可
全栈程序员站长
2022/09/15
2K0
安装好Ubuntu18.04之后要做的事!!大全、详细教程!
Ubuntu18.04 Wifi相关问题
前几天刚把笔记本升级为ubuntu18.04,今天中午在安装python IDE,打开网络,看到设置的时候,有一个飞行模式按钮,无聊就按了一个打开,看一下有什么变化。关闭后设置wifi界面变为了空,没有飞行模式开关按键。在列表看到,wifi 硬件开关关闭。于是就各种百度实验都不好使。只能自己想办法解决。
何其不顾四月天
2023/03/10
6740
我与Python--从Hacker到探索Deep Learning
进入大学之后,我们逐渐“被教授”了C、C++、Java等编程语言,但为什么我会选择python作为最喜欢的编程语言呢?
流川枫
2018/09/12
4870
我与Python--从Hacker到探索Deep Learning
关于Ubuntu18.04谷歌浏览器经常卡死的解决
老电脑本来用的是Win系列,后来改成Linux后就不卡了,这几天同Notebook运行的Script开始复杂了,Ubuntu经常卡死(发公众号也经常卡死),本来以为是Ubuntu的问题
逸鹏
2018/07/16
3.3K0
关于Ubuntu18.04谷歌浏览器经常卡死的解决
技术角 | Windows 10/7与Ubuntu 18.04双系统安装
最近需要学习深度学习的同时混一混Kaggle社区,所以部署Kaggle Docker以便环境上一致,因此需要安装Ubuntu以便环境的部署。因此需要在已有Windows 10的带有GPU台式机上安装双系统来部署,为了方便以后有使用需求,现简单总结下双系统的安装情况。
ZNing
2020/05/13
1.7K0
技术角 | Windows 10/7与Ubuntu 18.04双系统安装
dpkg安装软件流程_DPKG命令与软件安装、APT[通俗易懂]
软件的源代码通常需要编译为二进制代码才可使用,安装比较耗时。用户可以自行调节编译选项,决定需要的功能或组件,或者针对硬件平台作一些优化
全栈程序员站长
2022/08/31
3.7K0
Ubuntu16.04下安装QQ的完整操作记录(经验证可用)
本机安装了Ubuntu16.04系统,用于日常运维办公。打算在Ubuntu上安装QQ,如下操作记录也使用于Ubuntu18.04:
洗尽了浮华
2018/08/01
4750
Ubuntu16.04下安装QQ的完整操作记录(经验证可用)
Win10 Ubuntu16.04/Ubuntu18.04双系统完美安装「建议收藏」
按照网上博客的安装教程安装的Win10+Ubuntu16.04双系统安装了好几遍都不成功?启动Ubuntu左上一直有个光标在闪?如果你的电脑也是双硬盘(装Windows系统的固态硬盘+机械硬盘),在安装Win10+Ubuntu16.04双系统前一定要提前了解如下这些安装要点。
全栈程序员站长
2022/09/15
2.6K0
Win10 Ubuntu16.04/Ubuntu18.04双系统完美安装「建议收藏」
这个 Linux 终端仿真器真香!
终端仿真器是Gnu / Linux系统上最有趣的应用程序之一。虽然有些初学者对终端并不感兴趣,但是,那些经验丰富的开发者却将其视为执行大量任务的最有效工具之一。比如我们今天要介绍的Alacritty。
杰哥的IT之旅
2022/05/17
1.2K0
这个 Linux 终端仿真器真香!
Daily Tips(Updated)
[No.007] 解决Ubuntu16.04 字体太细发虚(表现在Chrome中浏览中文) 这个问题产生是由于Ubuntu 16.04 LTS 的默认中日韩字体packagefonts-noto-cjk有一个bug,如果网页没有把其页面语言指定为中日韩字体,那么会用细的字体来显示。解决方法如下:
GitOPEN
2019/01/29
1.5K0
从本地更新已有项目到github
4.git remote rm origin(如果没有这一步直接下一步会提示错误fatal: remote origin already exists.)
黄林晴
2019/01/10
6400
FastAPI从入门到实战(14)——JSON编码兼容与更新请求
九陌斋地址:https://blog.jiumoz.com/archives/fastapi-cong-ru-men-dao-shi-zhan-14json-bian-ma-jian-rong-yu-geng-xin-qing-qiu
MinChess
2022/12/27
6860
FastAPI从入门到实战(14)——JSON编码兼容与更新请求

相似问题

如何在QGraphicsScene中添加QDockWidget?

10

如何在QDockWidget中获取active QDockWidget

13

添加多个QDockWidget

27

如何在android的顶部和底部添加工具栏?

23

在of键盘顶部添加工具栏

50
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文