门户
书籍
教程
论坛
问答
下载
签到
个人空间
帐号
自动登录
找回密码
密码
登录
立即注册
账号
自动登录
找回密码
密码
登录
立即注册
请绘制轨迹完成人机验证
由vaptcha提供技术支持
登录
注册
搜索
搜索
搜索
热搜
qml
quick
串口
输入中文
数据库
arm
百度地图
qt聊天
QT安装
安装
多窗口
中文乱码
聊天
局域网
鼠标
QT
图片
乱码
rs485通讯
多线程
android
多文档编辑器
本版
用户
本版
用户
【HUX】问题互助平台
博客
动态
好友
帖子
收藏
道具
勋章
任务
淘帖
动态
日志
相册
分享
记录
留言板
群组
门户
导读
排行榜
设置
我的收藏
退出
Qt开源社区
›
精华区(请在“有问必答”发帖)
›
有问必答
›
程序调试
›
QString与uint8_t、uint16_t
发布主题
返回列表
QString与uint8_t、uint16_t
3
回复
13536
查看
[复制链接]
涅槃
当前离线
积分
178
涅槃
尚未签到
来源:
2013-8-7 09:55:25
显示全部楼层
|
阅读模式
1
Qter豆
错误:cannot convert 'QString' to 'uint16_t' in assignment
最近遇到LineEdit中输入,但需要的数据类型是uint8_t、uint16_t的。
求教,QString和uint8_t、uint16_t之间的转换方法。
最佳答案
hzzhou
查看完整内容
用QString.toInt();可以转,但是要注意边界的问题。uint8_t可以表示的最大值是255,uint16_t可以表示的最大值为65535,所以QString.toInt()后,最好先判断一下转化的结果是不是超过了范围,然后再赋值给相应的变量。
相关帖子
关于数据库运行出现:-1: 错误:cannot open output file debug\database
回复
使用道具
举报
hzzhou
当前离线
积分
291
hzzhou
累计签到:181 天
连续签到:1 天
2013-8-7 09:55:26
显示全部楼层
用QString.toInt();可以转,但是要注意边界的问题。uint8_t可以表示的最大值是255,uint16_t可以表示的最大值为65535,所以QString.toInt()后,最好先判断一下转化的结果是不是超过了范围,然后再赋值给相应的变量。
回复
使用道具
举报
williamzhang
当前离线
积分
17
williamzhang
累计签到:5 天
连续签到:1 天
2013-8-7 16:13:14
显示全部楼层
QString提供了一大堆toXXX的函数的,可以转成相应的格式。这里应该用toUShort这个函数,不过错误处理是需要自己做的
回复
使用道具
举报
涅槃
当前离线
积分
178
涅槃
尚未签到
2013-8-7 17:24:39
显示全部楼层
后来我用了toUShort,那就是我的边界处理没弄好,我再看看。谢谢你们帮忙!
回复
使用道具
举报
返回列表
发表新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满)
我知道了