1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        ToolGood.Algorithm計算引擎

        聯(lián)合創(chuàng)作 · 2023-09-30 16:15

        ToolGood.Algorithm 是一款計算引擎,目前支持四則運算、Excel 絕大多數(shù)函數(shù),并支持自定義參數(shù)。

        快速上手

           AlgorithmEngine engine = new AlgorithmEngine();
            double a=0.0;
            if (engine.Parse("1+2")) {
                a = (double)engine.Evaluate();
            }
            var c = engine.TryEvaluate("2+3", 0);
            var d = engine.TryEvaluate("count({1,2,3,4})", 0);//{}代表數(shù)組,返回:4
            var s = engine.TryEvaluate("'aa'&'bb'", ""); //字符串連接,返回:aabb
            var r = engine.TryEvaluate("(1=1)*9+2", 0); //返回:11
            var d = engine.TryEvaluate("'2016-1-1'+1", DateTime.MinValue); //返回日期:2016-1-2
            var t = engine.TryEvaluate("'2016-1-1'+9*'1:0'", DateTime.MinValue);//返回日期:2016-1-1 9:0

        自定義參數(shù)

        //定義圓柱信息
            public class Cylinder : AlgorithmEngine
            {
                private int _radius;
                private int _height;
                public Cylinder(int radius, int height)
                {
                    _radius = radius;
                    _height = height;
                }
        
                protected override Operand GetParameter(Operand curOpd)
                {
                    if (curOpd.Parameter == "[半徑]") {
                        return new Operand(OperandType.NUMBER, _radius);
                    }
                    if (curOpd.Parameter == "[直徑]") {
                        return new Operand(OperandType.NUMBER, _radius * 2);
                    }
                    if (curOpd.Parameter == "[高]") {
                        return new Operand(OperandType.NUMBER, _height);
                    }
                    return base.GetParameter(curOpd);
                }
            }
            //調(diào)用方法
            Cylinder c = new Cylinder(3, 10);
            c.TryEvaluate("[半徑]*[半徑]*pi()", 0.0);      //圓底面積
            c.TryEvaluate("[直徑]*pi()", 0.0);            //圓的長
            c.TryEvaluate("[半徑]*[半徑]*pi()*[高]", 0.0); //圓的體積

        Excel 函數(shù)

        函數(shù):邏輯函數(shù)、數(shù)學(xué)與三角函數(shù)、文本函數(shù)、統(tǒng)計函數(shù)、日期與時間函數(shù)

        注:函數(shù)名不分大小寫,帶方括號的參數(shù)可省略,示例的返回值,可能為近似值。

        瀏覽 33
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        編輯 分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        編輯 分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            清朝古代一级毛片 | 亚洲一级A片毛毛aA片18 日韩无码中文字幕电影 | 国产在线一| 手机黄色在线 | 欧美性猛片AAAAA | 激情五月天中文在线天堂 | 亚洲黄色电影院 | 三人交性视频免费 | 一级a性色生活片久久无 | 偷拍视频网站 |