.net 评分计算--使用配置公式进行计算
来源:互联网 发布:黑莓怎么改网络标识 编辑:程序博客网 时间:2024/06/02 03:36
最近公司要计算活动公式,于是找了几种方式计算
第一种:使用原生.net控件 NCalc
Expression exp = new Expression(richTextBox1.Text.Trim()); exp.Parameters["需求计划安全库存满足率"] = 0.1; exp.Parameters["需求计划缺货次数"] = 10; textBox1.Text = exp.Evaluate().ToString();
if([需求计划安全库存满足率] > 0.9, 30 , if([需求计划缺货次数] < 15 && [需求计划安全库存满足率] > 0.01,15,0))+if([需求计划安全库存满足率] < 0.9, 30 , if([需求计划缺货次数] < 15 && [需求计划安全库存满足率] > 0.01,15,0))+if([需求计划安全库存满足率] >0.5, 30 , if([需求计划缺货次数] != 1 && [需求计划安全库存满足率] > 0.01,15,0))
第二种: 调用com js控件
参考 http://blog.csdn.net/return_false/article/details/7750862
注意:需要把生成平台设置为x86,否则x64无法运行...
string expression = string.Empty; SYS_PARAMETER_TABDao parameterDao = new SYS_PARAMETER_TABDao(); SYS_PARAMETER_TAB parameter = parameterDao.Retrieve("Expression"); if (!string.IsNullOrEmpty(parameter.VC_VALUE)) { expression = parameter.VC_VALUE; } expression = expression.Replace("[安全库存满足率]", (item.N_ANQUAN_QTY ?? 0).ToString()); expression = expression.Replace("[缺货次数]", (item.N_XUQIU_QTY ?? 0).ToString()); expression = expression.Replace("[4A9缺货次数]", (item.N_4A9_QTY ?? 0).ToString()); expression = expression.Replace("[4G6缺货次数]", (item.N_4G6_QTY ?? 0).ToString()); expression = expression.Replace("[调整次数]", (item.N_TIAOZHENG_QTY ?? 0).ToString()); expression = expression.Replace("[普通订单完成率]", (item.N_PUTONG_QTY ?? 0).ToString()); expression = expression.Replace("[紧急订单完成率]", (item.N_JIAJI_QTY ?? 0).ToString()); expression = expression.Replace("[订单确认情况]", (item.N_QUEREN_QTY ?? 0).ToString()); expression = expression.Replace("[公共查看情况]", (item.N_CHAKAN_QTY ?? 0).ToString()); expression = expression.Replace("[发票开据情况]", (item.N_FAPIAO_QTY ?? 0).ToString()); expression = expression.Replace("[单项否决情况]", (item.N_FOUJUE_QTY ?? 0).ToString()); ScriptControl sc = new ScriptControl(); sc.Language = "javascript"; item.N_SCORE = Math.Round(Convert.ToDecimal(sc.Eval(expression).ToString()), 2); Convert.ToInt32(sc.Eval(expression).ToString());
var result = 0;/*var [安全库存满足率] = 0;var [缺货次数] = 0;var [4A9缺货次数] = 0;var [4G6缺货次数] = 0;var [调整次数] = 0;var [普通订单完成率] = 0;var [紧急订单完成率] = 0;var [订单确认情况] = 0;var [公共查看情况] = 0;var [发票开据情况] = 0;var [单项否决情况] = 0;*/if([安全库存满足率] >= 1){result += 30;}else{if([安全库存满足率] > 0.8 && [缺货次数] <= 6){result += 20;}else{if([安全库存满足率] > 0.5 && [缺货次数] <= 10){result += 10;}else{result += 0;}}}if([调整次数] == 0){result += 15;}else{if([调整次数] <= 2){result += 10;}else{result += 0;}}if([紧急订单完成率] >= 1){result += 15;}else{if([紧急订单完成率] >= 0.8){result += 10;}else{if([紧急订单完成率] >= 0.5){result += 5;}else{result += 0;}}}result;
比较:第一种相对简单,但是功能也简单,写完的代码不容易阅读
第二种功能齐全,容易阅读,但是不支持anycpu,且不是原始C#代码
- .net 评分计算--使用配置公式进行计算
- Excel无法进行公式计算
- 使用.net Remtoing进行并行计算
- 使用 Zeller 公式计算 DayOfWeek
- ABAP 对字符串公式进行计算
- QLExpress解析公式进行计算业务
- 利用函数公式进行贷款的计算
- 计算公式
- 计算公式
- Python脚本进行用户信用评分体系计算的案例
- 使用MATLAB进行计算
- Lucene评分score计算
- 使用ScriptEngine 通过实体类和计算公式 计算结果
- tensorflow使用gpu进行计算的配置步骤
- 计算机中使用泰勒公式计算周期函数
- C#中字符串转换为计算公式,并进行计算的方法(自定义公式的计算)
- C#中字符串转换为计算公式,并进行计算的方法(自定义公式的计算)
- 基姆拉尔森计算公式计算日期
- 我的第一天博客
- 在Oracle中使用JSON: PL/JSON
- shell date 命令详解--总结
- 矩形嵌套 ( 图和最长不上升子序列)
- ORACLE数据库密码忘记了的解决方法
- .net 评分计算--使用配置公式进行计算
- LAV Filter 源代码分析 2: LAV Splitter
- mahout kmeans 测试
- poj 1703 - Find them, Catch them(并查集)
- JS嵌套函数调用上下文的问题
- WOW6432Node真身
- nagiosgraph nan
- Dom4j 使用简介
- xml数据和xml文件的解析