q调试打印错误的数字



我只是尝试使用qDebug打印一个数字,如下所示:

qDebug() << QString::number(03001);

但结果是:

"1537"

如果我尝试打印时没有第一个零:

qDebug() << QString::number(3001);

结果是正确的:

"3001"

为什么会这样?

我正在使用Qt 5.3。

前导零将使数字被解释为八进制文字

八进制文字是数字零 (0

),后跟零个或多个八进制数字 (0、1、2、3、4、5、6、7)

因此,这与 qDebug 没有任何关系,而是与C++解释整数常量的方式有关。

03001 是 C++ 中的八进制数。

相关内容

  • 没有找到相关文章

最新更新