Qt QString类型转换为其他类型的函数

哎哎9年前 (2015-03-26)C++2600

  把QString转换为 double类型

  方法1.

QString str="123.45";
  double val=str.toDouble(); //val=123.45

  方法2.很适合科学计数法形式转换

  bool ok;
  double d;
  d=QString("1234.56e-02").toDouble(&ok); //ok=true;d;12.3456.

  把QString转换为float形

QString str="123.45";
  float d=str.toFloat(); //d=123.45

 

QString str="R2D2";
  bool ok;
  float d=str.toFloat(&ok); //转换是被时返回0.0,ok=false;

  把QString形转换为整形

  1.转换为十进制整形

  注意:基数默认为10。当基数为10时,并且基数必须在2到36之

  间。如果基数为0,若字符串是以0x开头的就会转换为16进制,若以0开头就转换为八进制,否则就转换为十进制。

 

 Qstring str="FF";
  bool ok;
  int dec=str.toInt(&ok,10); //dec=255 ; ok=rue
  int hex =str.toInt(&ok,16); //hex=255;ok=true;

  3.常整形转换为Qstring形

  long a =63;
  QString str=QString::number(a,16); //str="3f";
  QString str=QString::number(a,16).toUpper(); //str="3F";