找回密码
 立即注册
收起左侧

QString与uint8_t、uint16_t

3
回复
13536
查看
[复制链接]

尚未签到

来源: 2013-8-7 09:55:25 显示全部楼层 |阅读模式
1Qter豆
错误:cannot convert 'QString' to 'uint16_t' in assignment
最近遇到LineEdit中输入,但需要的数据类型是uint8_t、uint16_t的。
求教,QString和uint8_t、uint16_t之间的转换方法。

最佳答案

查看完整内容

用QString.toInt();可以转,但是要注意边界的问题。uint8_t可以表示的最大值是255,uint16_t可以表示的最大值为65535,所以QString.toInt()后,最好先判断一下转化的结果是不是超过了范围,然后再赋值给相应的变量。
回复

使用道具 举报

累计签到:181 天
连续签到:1 天
2013-8-7 09:55:26 显示全部楼层

用QString.toInt();可以转,但是要注意边界的问题。uint8_t可以表示的最大值是255,uint16_t可以表示的最大值为65535,所以QString.toInt()后,最好先判断一下转化的结果是不是超过了范围,然后再赋值给相应的变量。
回复

使用道具 举报

累计签到:5 天
连续签到:1 天
2013-8-7 16:13:14 显示全部楼层
QString提供了一大堆toXXX的函数的,可以转成相应的格式。这里应该用toUShort这个函数,不过错误处理是需要自己做的
回复

使用道具 举报

尚未签到

2013-8-7 17:24:39 显示全部楼层
后来我用了toUShort,那就是我的边界处理没弄好,我再看看。谢谢你们帮忙!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了