当我尝试使用toFloat()函数将QString转换为float时,我发现了一件有趣的事情。
以下是代码:
QString src = "500.05";
int x = src.toFloat() * 100;
float y = src.toFloat() * 100;
int z = (int)(500.05 * 100);
qDebug() << x;
qDebug() << y;
qDebug() << z;
这是输出:
50004 //x
50005 //y
50005 //z
我的问题是我x
为50004
的原因。
这是一个Bug还是我做错了。