文档章节

C#中另类自定义公式计算 字符串转换为计算公式,并得出计算结果

深圳大道
 深圳大道
发布于 2016/12/29 15:32
字数 166
阅读 45
收藏 0
//方法一 利用DataTable中的Compute方法 例如:1*2-(4/1)+2*4=6   
            string formulate = string.Format("{0}*{1} - {2}/{3} +{1}*{2}", 1, 2, 4, 1);
            DataTable dt = new DataTable();
            Response.Write(dt.Compute(formulate, "").ToString());

            Response.Write("<br/>");

            //方法二  利用JS中强大的Eval函数 可以带if-else判断 添加COM引用:Microsoft Sctipt Control 1.0
            MSScriptControl.ScriptControl sc = new MSScriptControl.ScriptControlClass();
            sc.Language = "JavaScript";
            string formulate1 = string.Format("if({0}==2)((({0}*{1})-{3}+({1}*{2}))+{4}/{0});else(1+2*3)", 2, 3, 4, 5,6);
            object objResult = sc.Eval(formulate1);
            if (objResult != null)
            {
                Response.Write(objResult.ToString());//1+12+3
            }


 

/* 方法三 需将Microsoft.JScript 和Microsoft.Vsa加入参考并引用Microsoft.JScript */
public object EvalExpress(string sExpression)
 {
            Microsoft.JScript.Vsa.VsaEngine ve = Microsoft.JScript.Vsa.VsaEngine.CreateEngine();
            return Microsoft.JScript.Eval.JScriptEvaluate(sExpression, ve);
}


本文转载自:http://blog.csdn.net/smartsmile2012/article/details/8214989

深圳大道
粉丝 3
博文 877
码字总数 0
作品 0
深圳
架构师
私信 提问
我的BRF+自学教程(一):公式(formula)

Business Rule Framework Plus(业务规则框架,以下简称BRFplus或BRF+)是一个强大的工具, 它允许用户以直观的方式对规则建模,并在不同的应用程序中重用这些规则。通过它,业务顾问甚至业务...

氢氦
2018/08/10
0
0
Angular directive实践($compile , ngModel ...)

.directive('ngCalculator', function($compile, $timeout){ return { restrict: 'EA', require: 'ngModel', scope: { devices: '=', key: '=', displayName: '=', bindAttr: '=' }, link: f......

mot_evans
2015/08/26
281
0
精确计算微信小程序scrollview高度,全机型适配

众所周知,可以滑动的 组件在移动端非常的重要,几乎每个页面都要用到。 而小程序的 组件就比较坑了,非得指定一个高度才能正常使用。布局复杂的时候谁还给你算高度啊。。。 坑归坑,没办法,...

solocoder
2018/07/18
0
0
相机IMU融合四部曲(一):D-LG-EKF详细解读

相机IMU融合四部曲(一):D-LG-EKF详细解读 极品巧克力 前言 前两篇文章《Google Cardbord的九轴融合算法》,《Madgwick算法详细解读》,讨论的都是在SO3上的传感器融合,即,输出的只是纯旋...

极品巧克力
2018/07/12
0
0
【Java】Fel计算引擎学习

一、前言 最近的项目中,有一个这种需求,系统中配置很多的公式,每个公式中都会有因子。比如:,计算的时候,把这两个因子替换掉,如,,然后通过java来计算出结果。 二、实现的方式 为了解...

kisscatforever
2018/05/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx+tomcat配置https

1、nginx配置https和【proxy_set_header X-Forwarded-Proto $scheme;】 2、java代码: String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServe......

perofu
3分钟前
0
0
必看的Linux系统新手进阶老手心得

不知道从什么时候起,linux这个话题变得越来越普及,成为大家经常讨论的话题。无论在网络上还是实际生活中,竟然很多人都在纠结学习linux的问题。网络上给的答案千千万万,而却还有很多人踌躇...

Linux就该这么学
6分钟前
0
0
Spring Boot 配置元数据指南

1. 概览 在编写 Spring Boot 应用程序时,将配置属性映射到 Java bean 上是非常有用的。但是,记录这些属性的最好方法是什么呢? 在本教程中,我们将探讨 Spring Boot Configuration Proces...

liululee
9分钟前
2
0
foreach查找子类

$list = $menu_model -> menu_list();$parent_list = [];foreach ($list as $v){ if ($v['pid'] == 0) { $parent = $v; foreach ($list as $v1) ......

小小小壮
21分钟前
2
0
基于 HTML5 Canvas 实现的 TP-LINK 电信拓扑设备面板

前言 今天我们以真实的 TP-LINK 设备面板为模型,完成设备面板的搭建,和指示灯的闪烁和图元流动。 先来目睹下最终的实现效果:http://www.hightopo.com/demo/blog_tplink_20170511/index.h...

htdaydayup
27分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部