c#.net 如何解析字符串问题

leo__yang 2010-07-14 09:30:29
例如 字符串是这样的:应发工资=基本工资 + if(奖金>500,500,奖金)+if(考勤扣款>200,200,考勤扣款)
怎么进行解析,返回条件中定义的结果。
...全文
527 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
c2008200613 2010-07-23
  • 打赏
  • 举报
回复
学习学习
taz01 2010-07-14
  • 打赏
  • 举报
回复
其实都是业务规则 何以搞到数据库去呢
然后再调用就OK了
taz01 2010-07-14
  • 打赏
  • 举报
回复
你应该编写几个类或方法
每一种工资的计算规则对应一个类或方法
你把方式放到数据库中,不怎么好吧
liiifeiii 2010-07-14
  • 打赏
  • 举报
回复
简单一点那,就到数据库里,用sql去判断
qianainan 2010-07-14
  • 打赏
  • 举报
回复
学习中!
zlcp520 2010-07-14
  • 打赏
  • 举报
回复
围观高手
qqtt789632147 2010-07-14
  • 打赏
  • 举报
回复
想好规则再录入
这样有依据,错了知道是怎么回事
自己解析起来有帮助
可以用小高的方法
或者如果你规则定好的话,就可以用正则去匹配出条件
再用程序去判断,把结果算出来
lh1611 2010-07-14
  • 打赏
  • 举报
回复
判断一下
lh1611 2010-07-14
  • 打赏
  • 举报
回复
判断一下
lh1611 2010-07-14
  • 打赏
  • 举报
回复
判断一下
lbcleo 2010-07-14
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 leo__yang 的回复:]
引用 5 楼 luo7269315 的回复:
if(奖金>500)THEN 奖金=500 ELSE 奖金
if(考勤扣款>200)THEN 考勤扣款=500 ELSE 考勤扣款
应发工资=基本工资 + if(奖金>500,500,奖金)+if(考勤扣款>200,200,考勤扣款)
lz是这个意思否??

对,我就是这个意思,可是,我怎么给它解析出来,把if的条件取出来,麻烦指点一下
[/Quote]
这个要解析什么啊,就安这个写的
if(奖金>500)THEN 奖金=500 ELSE 奖金
if(考勤扣款>200)THEN 考勤扣款=500 ELSE 考勤扣款
应发工资=基本工资 + 奖金+考勤扣款
这样就可以了
dylike 2010-07-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 gxingmin 的回复:]
C# code

using System;
using System.CodeDom;
using System.CodeDom.Compiler;
using Microsoft.CSharp;
using System.Text;
using System.Reflection;

public class Salay
{
public static decimal ……
[/Quote]


luo7269315 2010-07-14
  • 打赏
  • 举报
回复
#6楼 正解。。。
罗白莲 2010-07-14
  • 打赏
  • 举报
回复
呵呵,就判断一下
leo__yang 2010-07-14
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 mervyn807 的回复:]
我晕死啊
自己定义的自己不能解析
大哥,你太有柴了
[/Quote]
呵呵,小弟不才,有了这个想法,没想出解决办法,所以求助各位大哥
gxingmin 2010-07-14
  • 打赏
  • 举报
回复
10楼兄弟肯定没用过专家系统,很多规则是后来用类似楼主的“公式”二次开发存在数据库里的,由于应用程序在二次开发之前就有的,“公式”是后编辑的,所以应用程序解析后编辑的公式并不是你说的这么简单
缭绕飘渺 2010-07-14
  • 打赏
  • 举报
回复
我晕死啊
自己定义的自己不能解析
大哥,你太有柴了
leo__yang 2010-07-14
  • 打赏
  • 举报
回复
感谢 6 楼 gxingmin 的回复和luo7269315的回复:我先试试
兔子-顾问 2010-07-14
  • 打赏
  • 举报
回复
小高V5,动态编译代码都搬出来了。
leo__yang 2010-07-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 luo7269315 的回复:]
if(奖金>500)THEN 奖金=500 ELSE 奖金
if(考勤扣款>200)THEN 考勤扣款=500 ELSE 考勤扣款
应发工资=基本工资 + if(奖金>500,500,奖金)+if(考勤扣款>200,200,考勤扣款)
lz是这个意思否??
[/Quote]
对,我就是这个意思,可是,我怎么给它解析出来,把if的条件取出来,麻烦指点一下
加载更多回复(9)

110,548

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧