zoukankan      html  css  js  c++  java
  • 关于公式解析的C#代码 比用反射更快 公式中去掉 Math

    字符串中 Math 要大写,其余都要小写, 具体是JScript 的语法 ,   遵循就是   
    //****************公式中去掉 Math
            /// <summary>
            /// 计算字符串表达式的通用类。
            /// 引用Microsoft.JScript.Eval和Microsoft.JScript.Vsa.VsaEngine来实现公式计算方法
            /// </summary>
            /// <param name="strequation">字符串表达式</param>
            /// <param name="paras">传入的参数</param>
            /// <param name="paravalues">传入参数对应的值</param>
            /// <param name="repara">返回的参数名</param>
            /// <returns></returns>
            public object RunFormula(string strequation, List<string> paras, List<string> paravalues, string repara)
            {

                StringBuilder myCode = new StringBuilder();
                myCode.Append("function getValue() : double {");
                for (int i = 0; i < paras.Count; i++)
                {
                    myCode.Append("var " + paras[i] + " = " + paravalues[i] + " ;");
                }
                myCode.Append("var " + repara + "=0;  with (Math){ ");
                myCode.Append(repara + "=" + strequation + "};");
                myCode.Append("  return " + repara + ";");
                myCode.Append("}");

                try
                {
                    object ret = Microsoft.JScript.Eval.JScriptEvaluate(myCode + "getValue()",
                        Microsoft.JScript.Vsa.VsaEngine.CreateEngine());
                    return ret;
                }
                catch
                {
                    return "false";
                }
               
            }









  • 相关阅读:
    Docker运行nginx文件服务器详细配置
    containerd 使用
    【转】Oracle将以特定分隔的字符串转成表格的方法(用于类似游标的遍历)
    我的博客园的定制化配置v20201229
    李叫兽-文案创意模板
    小程序海报最佳实现思路,可视化编辑直接生成代码使用
    X型文案和Y型文案,李叫兽教你如何减少文案中的“自嗨现象”
    【运营手册2020年12月】
    软件研发的原则
    《营销的16个关键词》笔记
  • 原文地址:https://www.cnblogs.com/houlinbo/p/1556001.html
Copyright © 2011-2022 走看看