如何计算由字符串表示的数学表达式?
实现一个“计算器”来解析字符串(例如,2 ^ 3 / 2
)并计算运算结果很容易。但是,是否有一个图书馆已经能够做到这一点?
It's easy to implement a "Calculator" to parse a string (e.g., 2 ^ 3 / 2
) and compute the result of operations. But, is there a library already capable of doing this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
dotMath 库可以执行此操作。
The dotMath library does this.
为了做到这一点,你将需要某种数学解析器。我之前使用过 使用 DeepEddie 的 RPN 的 C# 表达式解析器,或者你也可以如果您使用的表达式的复杂性范围更有限,请自行创建。
不要让它吓到你,它实际上很容易制作。
You are going to need some kind of math parser in order to do that. I've used C# Expression Parser using RPN by DeepEddie before, or you could make your own if the complexity of the expressions you use are of more limited scope.
Don't let it scare you, it is actually quite easy to make.
将ironpython嵌入到您的应用程序中,然后您可以要求它评估任意复杂的字符串,
我认为它们甚至有相同事物的样本
embed ironpython in your app, you can then ask it to evaluate arbitrarily complex strings
i think they even have a sample of the same thing
查看逆波兰表示法。它广泛用于现代计算器
Check out Reverse Polish notation. It's widely used in modern calculators
您还可以使用 JScript 库,尽管它已被弃用。不是说你应该,只是说你可以。
Microsoft.JScript.Eval.JScriptEvaluate
You can also use the JScript library although its deprecated. Not saying you should, just that you could.
Microsoft.JScript.Eval.JScriptEvaluate
我用过这个:
I have used this :