Delphi,计算公式字符串

问题描述 投票:0回答:5

重复

我需要一个Delphi程序,从Edit1获取一个变量方程,例如

"F(x)=4*X+2*log(x)+4*power(X,2)"

,并从Edit2获取X值变量,然后在Edit3中显示结果F(X)。请帮助我。

谢谢。

algorithm delphi math parsing formula
5个回答
4
投票

您还可以查看JCL,它在文件JclExprEval.pas中附带了一个表达式计算器。它是免费且开源的。


4
投票

您可能需要看看这个组件 - TbcParser。

https://www.mathparsers.com/formula-parser-for-delphi/

该组件包含源代码。


1
投票

看看

http://www.efg2.com/Lab/Library/Delphi/MathFunctions/Parsers.htm

此外,如果您安装了 JEDI 和/或 FastReport 库,您可以使用它们的解析器。我们使用来自 http://cc.embarcadero.com/item/15974 的 TParser10,如果不是最快,它也是最快的之一。它是免费软件,并且在 D2007 之前都可以完美运行。听说D2009也可以用。不过尚未测试。


0
投票

如果您想编写自己的实现而不使用现成的库,这将花费您一些时间。只需搜索“公式解析器”即可。我将从标记生成器开始,然后从标记构建解析树。


-1
投票

它很大程度上取决于您的小数点分隔符。使用 StrToFloat 或在 Delphi 新版本中 - TryStrToFloat。

© www.soinside.com 2019 - 2024. All rights reserved.