C 从字符串中取一个公式

c++ taking a formula from a string

本文关键字:一个 字符串      更新时间:2023-10-16

该程序的目的是从用户输入(我使用QLineEdit)中获取公式并绘制公式(使用QT的QCustomPlot)。这是我遇到的代码的一部分:

QVector<double> x(10000), y(10000);
for (int i=0; i<10000; ++i)
{
  double xi = ui->xi_LineEdit->text().toDouble();
  x[i] = xi;
  double yi = ui->yi_LineEdit->text().toDouble();
  y[i] = yi;
}
ui->grafiek->addGraph();
ui->grafiek->graph(0)->setData(x, y);

此代码显然现在不起作用。如何通过示例xi = i/50.0 - 20yi = x[i]*x[i]以及 Process IT?

QLineEdit为您提供了一个包含数学表达式的QString。这种类型不能转换为double,除非它只包含双重。例如,文本" 10.34"可以从QString转换为双重,但是文本" 10.34-18 2"不能首先进行评估。

您需要将qlineedit文本传递给数学表达式解析器。如果您只需要处理简单的算术,则可以编写自己的文章。这是一个值得的学习练习,您可以在网上找到许多示例,包括So。如果您需要更复杂的解析,或者很着急,则可以使用C++ math parser或类似代码的Google Google。

相关文章: