C# 字符串公式计算 - zLulus/My_Note GitHub Wiki

开发过程中,有时数学公式是字符串的形式,比如:

((100.23-99)*12+5)/2.5

而我们需要1.确保该字符串是一个符合数学公式规则的公式,2.计算该公式的结果
如果自己来完成这两点,会比较麻烦,大致的方向是通过正则表达式劈分什么的

这里推荐使用.NET现成的工具来完成工作DataTableCompute方法

try
{
    var result = new System.Data.DataTable().Compute(formula, "");
    if (result != DBNull.Value)
    {
        //公式正确
    }
    else
    {
        //公式不正确
    }
}
catch(Exception ex)
{
    //公式不正确
}

也可以通过sqlJavaScript等内置的计算方法来计算
简单来说,利用现有的开发语言中支持计算的部分来计算,而不要想着自己去写

参考资料

C#自动计算字符串公式的四种方法