字符串转10进制,10进制转字符串,并移16进制数显示
2015-04-18 22:15
357 查看
ID=dateLine->text();//得到字符串
QString str = ID;
bool ok;
int hex = str.toInt(&ok, 16); // 将字符串变成16机制数
hex=hex+1;
QString t = QString::number(hex, 16).toUpper();将数字变成16机制数,并以大写显示
dateLine->setText(t);显示在textveiw() 里面
cout<< hex<<endl;
16进制转换。
这是一段非常经典的代码,主要用在字符串与 int 类型的转换。
实现功能:
1、将字符串按照16进制数,自增,只用修改
int hex = str.toInt(&ok, 10);
hex=hex+1;
2、将字符串按照10进制数,自增
int hex = str.toInt(&ok, 16);
hex=hex+1;
3、将字符串转成16进制数,然后以10进制数显示。
int hex = str.toInt(&ok, 16);
QString t = QString::number(hex, 10).toUpper();
4、将字符串转成10进制数,然后以16进制数显示
int hex = str.toInt(&ok, 10);
QString t = QString::number(hex, 16).toUpper();
原理:
int QString::toInt(bool * ok = 0, int base = 10) const
Returns the string converted(转换) to an int using base base, which is 10 by default and must be between 2 and 36(转换进制数,只能是2到36,二进制,10进制 ,9进制等都能够转换了), or 0. Returns 0 if the conversion fails. If a conversion error occurs, *ok is set to false; otherwise *ok is set to true.
转换成功,返回值OK为1,返回 错误,则值为1.所以 还可以对OK值进行 利用判断,转换是否成功。 If base is 0, the C language convention is used: If the string begins with "0x", base 16 is used; if the string begins with "0", base 8 is used; otherwise, base 10 is used. The string conversion will always happen in the 'C' locale. For locale dependent conversion use QLocale::toInt()
yearLine->setText((QString::number(CMD.trimmed().toInt(), 10)
相关文章推荐
- 字符串字符显示与16进制显示之间的相互转换
- 字符串16进制转10进制
- 字符串16进制显示
- 字符串字符显示与16进制显示之间的相互转换
- 字符串16进制转10进制
- 字符串字符显示与16进制显示之间的相互转换
- 汇编语言: 编写一个程序,从键盘输入一个 0~65535 之间的 10 进制无符号数,然后以 16 进制 和四进制数形式显示出所输入的数。
- 字符串16进制转10进制
- 16进制内码 显示为字符串的代码
- ios 图片转成16进制字符串, NSdata 转16进制字符串
- 记录:将得到的字符串转成16进制
- 10进制数和16进制字符串 相互转换
- Java byte 数组转换 16 进制字符串
- 字符串转16进制字节数组
- Java字符串转16 进制工具类Hex.java
- 2进制、8进制、10进制、16进制...各种进制间的轻松转换(c#)
- 2011-02-23 00:18 java中进行2、8、16、10进制之间的转换
- 字符串转换成16 进制表示
- PHP进制转换[实现2、8、16、36、64进制至10进制相互转换]
- = 问题 = 请问如何把16进制数转化为10进制数显示输出?谢谢!