Para empezar si pones:
suponiendo que i sea String, estás pasando Integer a String y no al revés.
Val devolvería el primer valor númerico de la cadena
Que yo sepa NO EXISTE '
Option Strict On/Off' en
VB6, pero SÍ en
VB.NETCon
Option Strict Off puedes pasar Integer a String sin preblemas.
Option Strict Off
Module Module1
Sub Main()
Dim Valor As String = Val("10 * 25")
Console.WriteLine(Valor)
Console.ReadLine()
End Sub
End Module
Si lo que quieres es resolver la ecuación, se me ocurre así
Dim Valor As String = "10 * 25"
Dim t() As String
t = Valor.Split({" "}, StringSplitOptions.RemoveEmptyEntries)
If Char.IsNumber(t(0)) And Char.IsNumber(t(2)) Then
Console.WriteLine(t(0) * t(2))
End If
Console.ReadLine()
Para otros operadores:
Dim Valor As String = "10 - 25"
Dim t() As String
t = Valor.Split({" "}, StringSplitOptions.RemoveEmptyEntries)
If Char.IsNumber(t(0)) And Char.IsNumber(t(2)) Then
Select Case t(1)
Case "*" : Console.WriteLine(t(0) * t(2))
Case "/" : Console.WriteLine(t(0) / t(2))
Case "+" : Console.WriteLine(CInt(t(0)) + CInt(t(2)))
Case "-" : Console.WriteLine(t(0) - t(2))
End Select
End If
Console.ReadLine()