c#公式

            string cx = MonitorElementAttributeHelper.GetAttributeInitValue("cx", initValue);
            string cy = MonitorElementAttributeHelper.GetAttributeInitValue("cy", initValue);

            Parser parser = new Parser(Parser.EBaseType.tpDOUBLE);

            ParserVariable varInitValueX = new ParserVariable(Convert.ToDouble(cx));
            ParserVariable varInitValueY = new ParserVariable(Convert.ToDouble(cy));
            ParserVariable varPointValue = new ParserVariable(Convert.ToDouble(pointValue));
            ParserVariable varDistance = new ParserVariable(seriesMoveType.Distance);   //最大移动距离
            ParserVariable varValueMax = new ParserVariable(seriesMoveType.ValueMax);   //测点最大值
            ParserVariable varValueMin = new ParserVariable(seriesMoveType.ValueMin);   //测点最小值

            parser.DefineVar("InitValueX_var", varInitValueX);
            parser.DefineVar("InitValueY_var", varInitValueY);
            parser.DefineVar("PointValue_var", varPointValue);
            parser.DefineVar("Distance_var", varDistance);
            parser.DefineVar("ValueMax_var", varValueMax);
            parser.DefineVar("ValueMin_var", varValueMin);

            double dblResult;
            PropertyItem propertyItem = new PropertyItem();

            switch (seriesMoveType.Direction)
            {
                case Models.Enum.EnumDirection.LeftToRight:
                    //从左到右移动,x的初始值加测点计算后的值即可
                    parser.SetExpr("InitValueX_var+((PointValue_var-ValueMin_var)/(ValueMax_var-ValueMin_var))*Distance_var");
                    dblResult = parser.Eval();
                    propertyItem.PropertyName = "cx";
                    propertyItem.PropertyValue = dblResult.ToString();
                    break;

            }

需要引用cs和dll文件,上传到资源文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值