我有一个巨大的数字的问题。我从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,x GB,以字节为单位)。第四行返回我“-822010276”,我不明白为什么。 this-> fileSize是qint64。我减少了设置的数量,只要它小于2147483647(2^31-1),一切都没问题,但在上面我得到负数。我不明白,因为longlong和qint64应该够了?! 有没有人有想法,最新出了什么问题?
在此先感谢!
使用'QVariant :: toULongLong()'是否会给出相同的结果? – vahancho