【发布时间】:2016-07-25 13:48:53
【问题描述】:
我想将文本更改为浮点数以便在 Qt 中进行计算
float test = ui.tableWidget->item(0, 1)->text().replace(",", ".", Qt::CaseSensitive).toFloat();
当我输入 2.86 时,实际上我在调试中看到了 test = 2.85999990。如何正确接收我输入的内容?
我可以用这个来展示
qDebug() << QString::number( test, 'f', 2 );
但我想要一个用于计算的值,而不是用于显示。
【问题讨论】:
-
不幸的是浮点数不会给你更精确的结果。这就是它们的方式 - 您通常会得到最接近的数字,可以用 some size 浮点数表示。我建议阅读一些关于原因的维基百科(看看那里的方程式)。注意:
double可能会给您带来更好的结果。 -
@hauron:谢谢。是的,我已经与
double核对过,但结果只是如你所说的稍微好一点。我们有什么方法可以得到我们想要的吗?
标签: c++ qt format precision qstring