如何将Qstring转换为Long?

时间:2011-07-27 12:59:24

标签: c++ qt qt-creator

我是Qt Creator的新手。我想将QString值转换为长数字。怎么做?

long s;
QString x="6458621237";

EDIT

As a result i'll have long s=6458621237;

欣赏。 THx的

2 个答案:

答案 0 :(得分:9)

使用toLong功能。

例如,

 QString str = "FF";
 bool ok;

 long hex = str.toLong(&ok, 16);     // hex == 255, ok == true
 long dec = str.toLong(&ok, 10);     // dec == 0, ok == false

答案 1 :(得分:5)

来自QT Docs

  

long QString :: toLong(bool * ok = 0,int base = 10)const

     

返回使用基数转换为long的字符串,即10   默认值,必须介于2到36或0之间。如果base为0,则基数为   使用以下规则自动确定:如果是字符串   以“0x”开头,假设为十六进制;如果它开头   “0”,假定为八进制;否则假定为十进制。   如果转换失败,则返回0.

     

如果ok不为0:如果发生转换错误,* ok设置为FALSE;   否则* ok设置为TRUE。

     

此函数忽略前导和尾随空格。