как конвертировать Qstring в Long? - PullRequest
4 голосов
/ 27 июля 2011

Я новичок в Qt Creator.Я хотел бы преобразовать значение QString в длинное число.Как это сделать?

long s;
QString x="6458621237";

EDIT

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

Ценю.THx

Ответы [ 3 ]

9 голосов
/ 27 июля 2011

Используйте функцию 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
5 голосов
/ 27 июля 2011

Из QT Документы :

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

Возвращает строку, преобразованную в длинную, используя базовую базу, которая равна 10 по умолчанию и должно быть от 2 до 36 или 0. Если base равно 0, base определяется автоматически с использованием следующих правил: Если строка начинается с "0x", предполагается, что он шестнадцатеричный; Если это начинается с «0» предполагается восьмеричным; В противном случае он считается десятичным. Возвращает 0 в случае сбоя преобразования.

Если ok не равно 0: если происходит ошибка преобразования, * ok устанавливается в FALSE; в противном случае * ok имеет значение TRUE.

Эта функция игнорирует начальные и конечные пробелы.

0 голосов
/ 03 декабря 2016
long s; 
QString x="6458621237";
s = x.toLong();
...