【发布时间】:2014-01-26 10:12:32
【问题描述】:
我正在尝试创建一个评分系统,您可以在其中选择自己的主题和组件(背诵、测验等)以及自定义公式...我将使用 ddl 语言在数据库所以一切都很好,但是,我的公式有一个大问题......我不知道如何将包含“变量名”的字符串公式(来自文本框或数据库)转换为一个可行的公式系统会识别。
简短的例子。
我声明了三个具有相应值的整数 a、b 和 c(a =1、b=2、c=3)。然后让用户在文本框中输入公式。
示例:文本框1:a+c
然后使用 b 将结果等同起来......
这就是问题所在,程序将其读取为纯字符串并且无法识别变量 DX
我该怎么做?
【问题讨论】:
-
您需要使用数学表达式解析器(使用库或自己编写)。它们将允许您提取符号(变量)并让您在计算表达式之前提供具体值。
-
如果你不想使用 3rd 方库,这个任务是学习反射和运行时编译的好方法。检查
VBCodeProvider类。您基本上为包含用户输入作为公式的函数创建源代码,然后使用 .NET 编译器在运行时对其进行编译,然后从程序中访问新创建的程序集。您可能需要用参数 indizes 替换一些变量名,但这比听起来容易。这是一个非常强大的学习工具。
标签: vb.net string math formula