Я новичок в Qt Creator.Я хотел бы преобразовать значение QString в длинное число.Как это сделать?
long s; QString x="6458621237"; EDIT As a result i'll have long s=6458621237;
Ценю.THx
Используйте функцию 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
Из 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. Эта функция игнорирует начальные и конечные пробелы.
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.
Эта функция игнорирует начальные и конечные пробелы.
long s; QString x="6458621237"; s = x.toLong();