字符串與輸入輸出
1、字符串與數值之間的轉換
QString 類是Qt程序里經常使用的類,用於處理字符串。QString類可以進行字符串與數字之間的轉換。
QString類從字符串轉換為整數的函數有:
int toInt long toLong short toShort uint toUint ulong toULong
2、進制之間的轉換
將一個整數轉換為不同進制的字符串,可以使用QString的函數setNum()或靜態函數number(),他們的函數原型是:
QString &setNum (int n,int base = 10) QString number (int n,int base =10) #其中n是待轉換的整數,bas是使用的進制,缺省為10進制
3、一個小案例
案例截圖:
實現代碼:
QString類從字符串轉換為整數
1 void MainWindow::on_pushButton_clicked() 2 { 3 QString str = ui->lineEdit_num->text(); //讀取數量 4 int num = str.toInt(); 5 QString str1 = ui->lineEdit_price->text(); //讀取單價 6 float price = str1.toFloat(); 7 float all = num*price; 8 str = str.sprintf("%.2f",all); 9 ui->lineEdit_all->setText(str); 10 }
進制之間的轉換:
十進制轉化為十六進制和二進制
void MainWindow::on_BtnDec_clicked() //十進制轉化為其他進制 { QString str = ui->lineEdit_ten->text(); int val = str.toInt(); str = str.setNum(val,16); //十六進制 str = str.toUpper(); ui->lineEdit_sixteen->setText(str); str = str.setNum(val,2); //二進制 ui->lineEdit_two->setText(str); }
二進制轉化為其他進制
void MainWindow::on_pushButton_4_clicked() //二進制轉化為其他進制 { QString str = ui->lineEdit_two->text(); bool ok; int val = str.toInt(&ok,2); str = QString::number(val,10); //二進制轉化為十進制 ui->lineEdit_ten->setText(str); str = str.setNum(val,16); //二進制轉化為十六進制 str = str.toUpper(); ui->lineEdit_sixteen->setText(str); }
十六進制轉化為其他進制
void MainWindow::on_pushButton_3_clicked() //十六進制轉化為其他進制 { QString str = ui->lineEdit_sixteen->text(); bool ok; int val = str.toInt(&ok,16); str = QString::number(val,10); //十六進制轉化為十進制 ui->lineEdit_ten->setText(str); str = str.setNum(val,2); //十六進制轉化為二進制 str = str.toUpper(); ui->lineEdit_two->setText(str); }