我在數字(浮點數)字符串轉換中發現了一些奇怪的事情。qt中字符串轉換的數字
以下是示例代碼。
#include <QtCore/QCoreApplication>
#include <QDebug>
#include <QString>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qDebug()<<QString::number(50.5, 'f', 0);
qDebug()<<QString::number(49.5, 'f', 0);
return a.exec();
}
這裏輸出
Starting /home/asit/qt/qstring1-build-desktop/qstring1...
"50"
"50"
輸出應該是51和50。有誰能告訴這是什麼輸出背後的原因是什麼?
這些文檔不解釋倒圓,這是lipun4u的問題點。 – 2013-02-11 15:58:24
因爲它根本不是圓的所以 – troyane 2013-02-11 16:04:09
好吧,它也不會截斷。如果輸入49.5產生「50」(而不是「49」),我會說有一些舍入正在發生。 – 2013-02-11 16:08:36