如何计算(评估)复杂的数学字符串

How to compute (evaluate) a complex math string

我需要计算像“5*8*9%”这样的字符串,所以结果应该是 3.6。

我试过像这样使用 DataTable,但它认为这样的表达式无效(缺少运算符):

DataTable table = new DataTable(); table.Compute("5*8*9%",null);

用DataTable能达到我想要的结果吗?或者,在 C# 中是否有任何其他方法可以在不手动解析的情况下使用百分比和括号操作评估字符串?

如果不先操作字符串就无法做到这一点,因为百分号是 modulus 运算符,任何带有 % 符号的方程式的系统评估都将尝试计算 mod.

您需要编写自定义代码或查找其他人已经编写的代码。