큰 숫자에 문제가 있습니다. QSettings에서 번호를 검색합니다.Qt 데이터 형식이 큰 숫자로 오류가 발생했습니다.
settings.beginGroup("filesizes");
this->fileSize = settings.value(309355).toLongLong();
qDebug() << __FILE__ << ":" << __LINE__ << std::numeric_limits<qlonglong>::max();
qDebug() << __FILE__ << ":" << __LINE__ << "this->filesize: " << this->fileSize;
qDebug() << "loaded filesize" << this->fileSize;
설정에 저장된 숫자는 12062891612 (~ 11, xGB)입니다. 네 번째 줄은 "-822010276"을 반환하고 나는 왜 그런지 이해하지 못합니다. this-> fileSize는 qint64입니다. 나는 설정에서 숫자를 줄였습니다. 그리고 작을수록 작습니다. 2147483647 (2^31-1) 모든 것이 문제가되지 않지만, 음수를 얻는 것 이상입니다. 나는 longlong과 qint64가 충분해야하기 때문에 그것을 이해하지 못한다! 누구나 아이디어를 가지고 있습니까?
미리 감사드립니다.
대신 QVariant :: toULongLong()을 사용하면 같은 결과가 나타 납니까? – vahancho