我是Qt Creator的新手。我想将QString值转换为长数字。怎么做?
long s;
QString x="6458621237";
EDIT
As a result i'll have long s=6458621237;
欣赏。 THx的
答案 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。
此函数忽略前导和尾随空格。