Como transformar uma string quot; quot; em operador
02/04/2007
0
Preciso pegar o operador que está no forma de string e com ele fazer o calculo proposto. Alguem saberia.
Private Sub Command1_Click()
Dim res As String
Dim a As Double
res = ´3+3´
a = CInt(res) ´O VALOR EM FORMA DE STRING TEM QUE SER SOMADO E ATRIBUIDO
MsgBox (Str(a))
End Sub
---------------------------------------------
Se eu passar ´-´ e fizer
dim numero as integer
numero = 3 & ´-´ & 6
o valor de numero tem quer ser 9, por exemplo.
SOCORRO!!! Tenho que ter isso aqui prontinho rapido.
Ciniro
Posts
03/04/2007
Cleyton.bruno
Dim strAux As String = ´3+6´
Dim intNum1 As Integer
Dim intNum2 As Integer
Dim intRes As Integer
Dim intAux As Integer
For intAux = 0 To strAux.Length - 1
If Not (Asc(strAux.Chars(intAux)) > 47 And Asc(strAux.Chars(intAux)) < 58) Then
intNum1 = CInt(strAux.Substring(0, intAux))
intNum2 = CInt(strAux.Substring(intAux + 1, strAux.Length - (intAux + 1)))
Select Case strAux.Chars(intAux)
Case ´+´
intRes = intNum1 + intNum2
Case ´-´
intRes = intNum1 - intNum2
Case ´/´
intRes = intNum1 / intNum2
Case ´*´
intRes = intNum1 * intNum2
End Select
Exit For
End If
Next intAux
No final deste código o resultado vai estar em intRes
03/04/2007
Carlosrodrigop
x + y
x - y
x / y
x * y
x ^y
?????
03/04/2007
Ciniro
Mas tem de converter o sinal matematico que o cara escolher de string para, o real operador que tem no VB.
Por exemplo:
se ele selecionar ´+´ ou ´-´ ou ´*´ e ai vai..... junto com os dois numeros (em forma de string) escolhidos, ele tem que realizar a operação e lançar isso dentro de uma variável.
A lógica é simples. To garrado é na sintaxe.... pelo menos é uma coisa curiosa.
Alguém mata essa?
04/04/2007
Cleyton.bruno
Dim strAux As String = ´3+6´
Dim intNum1 As Integer
Dim intNum2 As Integer
Dim intRes As Integer
Dim intAux As Integer
For intAux = 0 To strAux.Length - 1
If Not (Asc(strAux.Chars(intAux)) > 47 And Asc(strAux.Chars(intAux)) < 5Cool Then
intNum1 = CInt(strAux.Substring(0, intAux))
intNum2 = CInt(strAux.Substring(intAux + 1, strAux.Length - (intAux + 1)))
if (strAux.Chars(intAux) = ´+´) then
intRes = intNum1 + intNum2
elseif (strAux.Chars(intAux) = ´-´) then
intRes = intNum1 - intNum2
elseif (strAux.Chars(intAux) = ´/´) then
intRes = intNum1 / intNum2
elseif (strAux.Chars(intAux) = ´*´) then
intRes = intNum1 * intNum2
End if
Exit For
End If
Next intAux
04/04/2007
Cleyton.bruno
Clique aqui para fazer login e interagir na Comunidade :)