鱼C论坛

 找回密码
 立即注册
查看: 802|回复: 0

表达式字符串计算出现的问题

[复制链接]
发表于 2022-9-7 14:39:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 basilizak 于 2022-9-7 14:42 编辑

我想将表达式字符串计算出它的值,找了好几个,都不能按照C#的语法计算出结果,用ScriptControl算最好的一个,不过它也有问题,看下列代码:
ScriptControl sc=new ScriptControl();
sc.Language = "JavaScript";
Console.WriteLine(sc.Eval("2 * (5 - (5 / 2 / 7 % 6) % 8 * 7 % 10) * 8 * 4 + 3"));
它出来的结果是163,正确的结果是323。
我想来想去,除非它最前面的2没有乘,那就是163,但是为什么会出现这样的结果。

各位有没有好的源代码或者组件或者方法推荐,我用了集中方法,最不好搞的就是%运算符,比如说datatable的方法,%运算符和C#是不一样的,
计算结果也不一样。还有就是无法算乘方,比如:(Math.Pow(9,6)/(6%(5%5+6/7+3)-((4%5%6%2+3)%4/5-3)%6-7)%4%9)+10*(4*4%9+6/3)*9
上面的方法算最好的了,只需要把Pow换成pow就能算了,其他的基本算不了乘方。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-26 09:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表