将一个整数转换为不同进制的字符串,可以使用QString的函数setNum()或静态函数number(),函数原型为:
1 QString &setNum(int n,int base=10)
2 QString number(int n,int base=10)
其中n是待转换的整数,base是使用的进制,缺省为十进制,也可以指定为十六进制和二进制。
以读取二进制字符串,然后转换为十进制和十六进制显示的按钮的槽函数为例:
1 void Widget::on_btnBin_clicked()
2 {
3 QString str=ui->editBin->text();//读取二进制字符串
4 bool ok;
5 int val=str.toInt(&ok,2);//以二进制数读入
6
7 str=QString::number(val,10);//数字显示为十进制字符串
8 ui->editDec->setText(str);
9
10 str=str.setNum(val,16);//显示为十六进制
11 str=str.toUpper();//将小写转换为大写
12 ui->editHex->setText(str);
13 }