我只想尝试使用qDebug
打印一个数字,如下所示:
qDebug() << QString::number(03001);
但结果是:
"1537"
如果我尝试在没有第一个零的情况下进行打印:
qDebug() << QString::number(3001);
结果是正确的:
"3001"
为什么会这样?
我正在使用Qt 5.3。
答案 0 :(得分:5)
前导零将使数字被解释为octal literal。
octal-literal是数字零(0),后跟零个或多个八进制数字(0,1,2,3,4,5,6,7)
所以这不是与qDebug相关的任何方式,而是与C ++解释integer constants的方式有关。
答案 1 :(得分:1)
03001是C ++中的八进制数。