有这样一个字符串,比如 2*3+(1+4/3) 怎么能计算出它的值呢?
原来的公式是a*b+(c+d/e),中间的字符是可以用数字迭代的
原来的公式是a*b+(c+d/e),中间的字符是可以用数字迭代的
解决方案 »
- spread 导出excel问题
- VB 到底何去何从(ZT) ??
- 请问一个菜鸟问题!
- 【API浏览器】重大升级,提供了帮助说明,改善了界面,增加了SPY等等(up者有分)
- 请问高手:怎样把excel表格sheet1里的每行的内容一一相应地读到sheet2的指定位置。谢谢!
- 急急急!在VB中如何将16进制,转换程二进制???
- 对象名'Users'无效.不知道是什么原因,请大家帮助.
- 请问怎样在VB里使用C语言编写的程序?急!!在线等待!!请帮忙
- [求助]我给两百分,越快越好!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 怎样利用 vb 做一个能去到浏览网页的同时,取得网页的原代码呢 ?
- 求助相关表结构设计!
- 求VB写运筹学原程序
楼主试试
在工程中引用Microsoft Script Control 1.0
Dim Sc As New ScriptControl
Private Sub Form_Load()
Dim Statement As String
Sc.Language = "vbscript"
Statement = "你的表达式"
Sc.ExecuteStatement Statement
End Sub
或者Option Explicit
Private Declare Function EbExecuteLine Lib "vba6.dll" (ByVal pStringToExec As Long, ByVal Unknownn1 As Long, ByVal Unknownn2 As Long, ByVal fCheckOnly As Long) As Long ' API
Private Function ExecuteLine(sCode As String, Optional fCheckOnly As Boolean) As Boolean
ExecuteLine = EbExecuteLine(StrPtr(sCode), 0&, 0&, Abs(fCheckOnly)) = 0
End Function
Private Function result(ByVal x As String) As Single '计算表达式的结果
ExecuteLine "dim x as single"
ExecuteLine "x= " & x
ExecuteLine "clipboard.settext x" '发送到剪切板
result = Clipboard.GetText '从剪切板获取
Clipboard.Clear '清空剪切板
End Function
Private Sub Command1_Click()
Dim x As String
x = "((((((((((1+1)*1)*(1+1))*1)*1)*1)*(1+1))*1)*1)*1)*2"
MsgBox x & "=" & result(x)
End Sub