• 3371阅读
  • 5回复

[提问]QString转int出错 [复制链接]

上一主题 下一主题
离线lovexin109
 

只看楼主 倒序阅读 楼主  发表于: 2017-10-31

  1. bool b_ok;
  2.     QString mod="AF08EE4A";
  3.     i_modbus=mod.toInt(&b_ok,16);
b_ok一直返回false,AF08EE4转没问题,多一位后转不成功,想请教下转INT该怎么转

离线小韩老师

只看该作者 1楼 发表于: 2017-10-31
可以先尝试转为无符号整型,先转为mod.toUInt(&b_ok,16)
离线lovexin109

只看该作者 2楼 发表于: 2017-10-31
回 小韩老师 的帖子
小韩老师:可以先尝试转为无符号整型,先转为mod.toUInt(&b_ok,16) (2017-10-31 11:34) 

谢谢,UINT可行
离线lovexin109

只看该作者 3楼 发表于: 2017-10-31
回 小韩老师 的帖子
小韩老师:可以先尝试转为无符号整型,先转为mod.toUInt(&b_ok,16) (2017-10-31 11:34)

谢谢小韩老师,都是32位,为什么INT就转不成功呢?是不是可以理解为超限?
离线小韩老师

只看该作者 4楼 发表于: 2017-10-31
函数转换把AF08EE4A看做正整数看,在转为整型时,负数前边加符号。无符号整型时可以看做是内存的设置。不要想当然的认为转换函数了内存的读写。
离线小韩老师

只看该作者 5楼 发表于: 2017-10-31
整型的数据范围考虑到,无符号整型单位单位大
快速回复
限100 字节
 
上一个 下一个