如何将Qstring转换为Long?

sun*_*set 4 c++ qt qt-creator

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

long s;
QString x="6458621237";

EDIT

As a result i'll have long s=6458621237;
Run Code Online (Sandbox Code Playgroud)

欣赏.谢谢

小智 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
Run Code Online (Sandbox Code Playgroud)


Ric*_*lis 5

来自QT 文档:

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

返回使用基数转换为long的字符串,默认情况下为10,必须介于2和36之间.如果base为0,则使用以下规则自动确定基数:如果字符串以"0x"开头,它被假定为十六进制; 如果以"0"开头,则假定为八进制; 否则假定为十进制.如果转换失败,则返回0.

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

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