1.简单介绍一下std::string、QString、CString分别是什么:
1.std::string 是c++标准库模版提供的一种类,是一种容器类,可以把字符串做普通类型使用,支持比较、遍历、赋值、复制、STL算法等等功能,定义在<String>头文件中。需要可移植的话是首选,所有声称符合标准的实现都需要提供他。
2.QString是Qt封装的一种类,用于表示Qt程序中的字符串,与环境更紧密的绑定,所以在Qt中提供更高的效率和更全面的功能。
3.CString来自MFC,与QString类似都绑定其开发环境。
2.展示一下本次实现的功能UI:
3.代码实现:
1.计算总价:
int num= ui->editNum->text().toInt(); //数量:字符串转换为整数
float price= ui->editPrice->text().toFloat(); //单价:字符串转换为浮点数
float total= num*price;
QString str;
str= str.setNum(total,'f',2); //浮点数2位小数
ui->editTotal->setText(str);
2.十进制转二进制和十六进制
int val= ui->editDec->text().toInt(); //读取十进制数
QString str= QString::number(val,16); //显示为十六进制字符串
str= str.toUpper(); //转换为大写字母
ui->editHex->setText(str);
str= QString::number(val,2); //显示为二进制字符串
ui->editBin->setText(str);
3.二进制转十进制和十六进制
bool ok;
int val= ui->editBin->text().toInt(&ok,2); //以二进制数读入
QString str= QString::number(val,10); //显示为十进制字符串
ui->editDec->setText(str);
str= QString::number(val,16); //显示为十六进制字符串
str= str.toUpper(); //转换为大写字母
ui->editHex->setText(str);
4.十六进制转其他进制
bool ok;
int val= ui->editHex->text().toInt(&ok,16); //以十六进制数读入
QString str= QString::number(val,10); //显示为十进制字符串
ui->editDec->setText(str);
str= QString::number(val,2); //显示为二进制字符串
ui->editBin->setText(str);