已有
字符串公式:string strExpress = "a+b*100-c";
和三个文本控件:txtA、txtB、txtC
现在要依照公式得到结果:txtA值+txtB值*100-txtC值
请问,如何将字符串型的公式转换为由变量组成C#表达式,即:a+b*100-c
该问题不好解决,不能看着字符串直接手动写a+b*100-c表达式后,再把文本值转进去计算。而是由字符串型的公式动态的得到C#表达式,因为公式有可能是“a+b+c”或是“a-b-c”之类的。
问题已解决,谢谢g2ok的思路。也谢谢 flashcjy提供的连接。
这里是我想要实现的:
http://blog.csdn.net/Faks8622/archive/2010/02/06/5294559.aspx
像seekel没有会意的同志们,请以后不要没有理解问题就随便回答了哦!我说了是动态的公式,不能直接在代码中手动写表达式的。
lum2005cn 的思路我也想过,但太复杂,要编译原理很NB。
aino77提供的信息也很有用,但公式中可定义变量,JS可以不用声明就能直接用,故没考虑你的方法。
C#如何将字符型表达式转化为数字表达式
答案:6 悬赏:80 手机版
解决时间 2021-03-14 08:30
- 提问者网友:眉目添风霜
- 2021-03-14 01:25
最佳答案
- 五星知识达人网友:玩世
- 2021-03-14 02:17
JavaScript eval() 函数
例子:
<script type="text/javascript">
eval("x=10;y=20;document.write(x*y)")
document.write(eval("2+2"))
var x=10
document.write(eval(x+17))
</script>
输出:
200
4
27
看下面这个地址
例子:
<script type="text/javascript">
eval("x=10;y=20;document.write(x*y)")
document.write(eval("2+2"))
var x=10
document.write(eval(x+17))
</script>
输出:
200
4
27
看下面这个地址
全部回答
- 1楼网友:猎心人
- 2021-03-14 06:38
这样说吧,你想达到什么效果?是在三个文本框输入数字后,根据运算符进行运算?
是我们会错意了吧。能不能把需求讲出来?
- 2楼网友:拜訪者
- 2021-03-14 05:03
看看这,或许对你有帮组http://www.35hunan.com/Portals/cgNs/News/20091222/News_3768.htm
- 3楼网友:西风乍起
- 2021-03-14 04:08
由于是教育类,只能输入100个字符,下次这种问题最好归入编程类,可输入1000字符。有个思路。如没括号的式子:5+3*1-6/3就是分两次遍历,第一次遇到*、/直接运算为数值,第二次加减运算。括号可用函数写。又满了无语
- 4楼网友:你哪知我潦倒为你
- 2021-03-14 03:46
用System.CodeDom中的Compiler处理字符串公式.初学会有点看不懂,不过你复制里面的函数就可以用了.
------
参考:
http://blog.joycode.com/ninputer/archive/2005/04/05/47003.aspx
- 5楼网友:廢物販賣機
- 2021-03-14 02:52
单个进行强制转换。
Convert.Toint32(a)+Convert.ToInt32(b*100)-Convert.ToInt32(C)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯