1、将二进制字符串转成十进制
int MainWindow :: BinToDec ( QString strBin)
{
int j = 1 , value = 0 ;
int len = strBin. length ( ) ;
for ( int i = 0 ; i< len; i++ ) {
value += strBin. mid ( len- 1 - i, 1 ) . toInt ( ) * j;
j *= 2 ;
}
return value;
}
2、将十六进制字符串转成二进制字符串
QString MainWindow :: ProcessHEXData ( QString hexMessage)
{
bool OK;
int val = hexMessage. toInt ( & OK, 16 ) ;
hexMessage = hexMessage. setNum ( val, 2 ) ;
return hexMessage;
}
3、字符串转整形
( 1 )QString转int
直接调用toInt ( ) 函数
例:
QString str ( "100" ) ;
int tmp = str. toInt ( ) ;
或者:
bool ok;
QString str ( "100" ) ;
int tmp = str. toInt ( & ok) ;
注:ok表示转换是否成功,成功则ok为true ,失败则ok为false 。
4、int转QString
2 )int 转QString
QString :: number ( ) ;
例:
int tmp = 100 ;
QString str = QString :: number ( tmp) ;
5、QString转int
int numberstr = strnumber. toInt ( ) ;
qDebug ( ) << "numberstr:" << numberstr;
6、QString 转 QByteArray
QByteArray bastr = strba. toLatin1 ( ) ;
qDebug ( ) << "bastr:" << bastr;
7、QByteArray转 QString
QByteArray ba = "asdasd" ;
QString strba = QString ( ba) ;
qDebug ( ) << "strba:" << strba;