VB 怎样让字符串转换成可直接计算的表达式

我想做一个可列出表达式的计算器,遇到一个问题
就是通过按钮将表达式输入到文本框,然后点击等于按就直接将文本框的字符转换成VB可计算的算式,直接计算结果。
请教一下 谢谢
我只要知道 如何让字符串转换成可直接计算的表达式
就可以了

思路:借鸡下蛋,利用EXCEL的强大功能
操作:假如你的表达式在TEXT1控件里,将下列代码复制到运行代码里:

Dim xlcell
Set xlcell = CreateObject("excel.Application")
xlcell.Workbooks.Add
xlcell.ActiveSheet.Cells(1, 1).Formula = "=" & Text1
Text1 = xlcell.ActiveSheet.Cells(1, 1)
xlcell.ActiveWorkbook.Close SaveChanges:=False

这样,不但一般的表达式能计算,EXCEL支持的各种复杂运算也可以!
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-02-08
你走啦弯路~
很简单~
当你单击数字9.8.7.6.....分别在TEXT中显示~ 在单击 运算符时 则把文本框中的文本 用VAL()函数转化成数值~ 然后你在单击后面数字的时候还在文本框显示~ 然后在用VAL()函数转换成数值~ 在单击= 时运算就可以了~
第2个回答  2010-02-09
用Val()函数进行转化,就是Val(text1.text)就好了··
第3个回答  2010-02-08
简单的运算可以用VB自带的控件:microsoft script ...记不得了。
复杂的就需要用逆波兰算法。
第4个回答  2010-02-08
自定义一个函数,在函数中使用判断语句转换(由于转换的表达式不清楚,无法具体回答)

在VB中怎样才能把字符串当作算式来运算?
按以下方法即可Function Eval(ByVal Expressions As String) As String '文本运算vbs Dim Mssc As Object Set Mssc = CreateObject("MSScriptControl.ScriptControl") Mssc.Language = "vbscript" On Error GoTo EvalErr Eval = Mssc.Eval(Expressions) Exit FunctionEvalErr: Exit ...

在vb中怎么把输入的字符串转换为算式?
直接利用VB6提供的 Script Control 控件来做就行了,很简单又支持特别多的功能。如你所述要计算2*4,只需用此控件的eval方法,如 Ans=Script1.Eval("2*4") 就行了。当然用文本控件作为输入如:Ans=Script1.Eval(Text1.text) 。此控件支持复杂的数学运算式,同时也支持VB其它的属性、方法等的调用...

VB 如何将数字字符串转换成数字用以计算?
用val就可以了,比如a是字符型的变量 a="1500"b=val(a)这时候b就是1500(数值)了。

vb 字符串中连同字母转换为数值数据
首先添加部件:工程--部件--Microsoft Script Control 1.0 代码:Private Sub Command1_Click()text1.text="1000*200\/52+54"f = ScriptControl1.Eval(Text1.Text)MsgBox f End Sub '这个text1里是不能带 参数的 如:你的X,若你非要带X '那只好 定义过程用ScriptControl1.AddCode 定义过程 。

怎样在VB中将文本转换成数值
1、首先在电脑中找到并打开VB软件,找到一句输出的函数。2、然后在其数组变量中,套上一个Str函数。3、这里注意函数的关键字,是没有区分大小写的。4、然后函数是可以多个嵌套使用。5、最后点击运行按钮,这样就可以成功运行测试,如下图所示,转换就完成了。

VB中如何将字符串转换成数值来运算
Public Function ValueOfExpression(ByVal Express As String) As Double Dim Pa() As Parent, ParNum As Integer, Ps() As Plus, OperNum As Integer Dim str0 As String '按括号分解表达式 Express:Begin---\/ Dim lenExp As Integer, Lenstr1 As Integer, i As Integer, j As Integer, k...

VB编程中VAL是什么意思?
VB编程中VAL是“Value”的缩写,表示将字符串转换为数值类型。在Visual Basic(VB)编程语言中,VAL函数用于将字符串表达式转换为一个双精度浮点数(Double)。这意味着,如果你有一个包含数字的字符串,你可以使用VAL函数将其转换为可以进行数学运算的数字类型。例如,假设你有一个字符串变量...

vb字符串如何化成数值
最简单的就是直接转换,就是把字符串变量赋值给数值变量。\\x0d\\x0a数值变量=字符串\\x0d\\x0a\\x0d\\x0a如果必须转换,就使用 Val 函数赋值,会把字符串转换成双精度数。\\x0d\\x0a比如:数值变量=Val(字符串)\\x0d\\x0a例:\\x0d\\x0an = Val("3.5") ' 变量n赋值为3.5\\x0d\\x0...

VB中怎么把字符串转换成数值表达式
val()函数只能转换数值不能转换带非数字符号的表达式 比如:Dim str As StringDim n as integerstr = "123" : n = val(str) '此处n = 123str = "1+1" : n = val(str) '此处n = 1,如果想让 n = 2是的话,那得自己编写一个表达式解析函数str = "a1+1" : n = val(str) '...

vb.net 如何将字符串转换为integer类型的数据?
Dim s As String = "12"以下三种写法都可以:Dim n As Integer = CType(s, Integer)Dim m As Integer = Convert.ToInt32(s)Dim o As Integer = Integer.Parse(s)VB.NET入门之数据类型转换 cbool将字符串或者数值转换成布尔型函数;cobj将内容转换成object;cbyte将字符串或者数值转换成byte型...

相似回答