社区
C#
帖子详情
如何把字符串 "2+3" 转成数学表达式 2+3?
fish365
2002-08-13 09:24:28
或者是计算字符串“A+B” 的结果,
A,B是变量名, 比如 A=2,B=3 ,结果应该是 5,
我觉的有难度,所以来求教大家!
...全文
35
12
打赏
收藏
如何把字符串 "2+3" 转成数学表达式 2+3?
或者是计算字符串“A+B” 的结果, A,B是变量名, 比如 A=2,B=3 ,结果应该是 5, 我觉的有难度,所以来求教大家!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fourfire29
2002-08-13
打赏
举报
回复
二叉树
delphi888
2002-08-13
打赏
举报
回复
你可以用栈实现
cometsky
2002-08-13
打赏
举报
回复
补充一下,那个软件(我不确认名字)能够让你自定义表达式的语法结构,然后他能够生成用来解析表达式字符串的C#代码,但是其中的具体运算还需要你来提供函数。
比如你说的 "1+2" ,他生成的代码能够解析成 1+2 ,但具体的加法有你自己来算。
saucer
2002-08-13
打赏
举报
回复
Runtime C# Expression Evaluator
http://www.codeproject.com/csharp/runtime_eval.asp
cometsky
2002-08-13
打赏
举报
回复
我在网上看到过一个叫Visual Parse ++ 的软件好像是用来分析表达式的。
cometsky
2002-08-13
打赏
举报
回复
我在网上看到过一个叫Visual Parse ++ 的软件好像是用来分析表达式的。
juqiang
2002-08-13
打赏
举报
回复
我认为可以使用reflection来实现,其实,好像和什么编译原理有关吧?
juqiang
2002-08-13
打赏
举报
回复
楼上的有两个错误:
1、SubString的index不对,C#中,字符串索引是从1开始的,不是从0开始的。
2、即使上面的SubString正确,得到的也是A和B,ToInt32("A"+"B")之后,会throw exception的!
hbxtx
2002-08-13
打赏
举报
回复
string c="A+B";
Convert.ToInt32(c.Substring(0,1))+Convert.ToInt32(c.Substring(2,1))
fish365
2002-08-13
打赏
举报
回复
saucer(思归)提供的资料很有用!谢了
fish365
2002-08-13
打赏
举报
回复
比如你说的 "1+2" ,他生成的代码能够解析成 1+2
具体这个如何解析??
vazi
2002-08-13
打赏
举报
回复
因为C#是编译后执行的,所以应该不支持类似JavaScript等解释执行语言中的宏替换功能。
使用.NET中的Hash Table类或许可以部分解决你遇到的问题。
Value["A"] = A;
Value["B"] = B;
if (expression.IndexOf("+") != -1)
Value[expression.substring(0,1)] + Value[expression.substring(3,1)]
【华为OD机试】2024年真题C卷(Python)-提取
字符串
中的最长
数学
表达式
并计算
【华为OD机试】2024年真题C卷(Python)-提取
字符串
中的最长
数学
表达式
:提取
字符串
中的最长合法简单
数学
表达式
,
字符串
长度最长的,并计算提取
字符串
中的最长合法简单
数学
表达式
,
字符串
长度最长的,并计算
表达式
的...
2024年华为OD机试题-提取
字符串
中的最长
数学
表达式
并计算
提取
字符串
中的最长合法简单
数学
表达式
,
字符串
长度最长的,并计算
表达式
的值。如果没有,则返回0。2、如果有多个长度一样的,请返回第一个
表达式
的结果。4、操作符不能连续出现,如+--+1是不合法的。1、所有数字,...
华为OD机试 C++ -提取
字符串
中的最长合法简单
数学
表达式
提取
字符串
中的最长合法简单
数学
表达式
,
字符串
长度最长的,并计算
表达式
的值。如果没有,则返回 0 。 简单
数学
表达式
只能包含以下内容: •0-9数字,符号±* 说明: 1.所有数字,计算结果都不超过long 2.如果...
【华为OD机试真题 Java语言】442、提取
字符串
中的最长
数学
表达式
| 机试真题+思路参考+代码解析(C卷)
>提取
字符串
中的最长合法简单
数学
表达式
,
字符串
长度最长的,并计算
表达式
的值。如果没有,则返回0; 简单
数学
表达式
只能包含以下内容:0-9数字,符号 + 、- 、* 说明: 1、所有数字,计算结果...
华为OD机试 Python -提取
字符串
中的最长合法简单
数学
表达式
提取
字符串
中的最长合法简单
数学
表达式
,
字符串
长度最长的,并计算
表达式
的值。如果没有,则返回 0 。 简单
数学
表达式
只能包含以下内容: •0-9数字,符号±* 说明: 1.所有数字,计算结果都不超过long 2.如果...
C#
111,120
社区成员
642,545
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章