InicioCiencia Educacionfunción calculate en visual basic .net

función calculate en visual basic .net

Ciencia Educacion5/16/2013
Hola Amigos.

Quizás muchos como yo que alguna vez programaron en Fox, cobol o algún lenguaje con finalidad financiera, han usado una función llamada EVALUATE() o CALCULATE(), a la que le pasabamos un string con la cadena de cálculo y nos devolvía un string con el resultado.

Esto mismo, tan simple y básico, en VB.NET es imposible de hacer porque no existe esta función.

Hasta ahora...

Bueno, humildemente he creado una función para que me solucione este problema y la compilé como dll para quien la necesite la pueda aprovechar. Pongo también el código fuente para quien quiera evolucionarla un poco y volverla a compartir (¡por favor!)


Básicamente, es una clase llamada Calcula, con una función abstracta llamada Calculate("cadena de cálculo"
El valor de Retorno es un valor numérico Doble.

la forma de uso es, por ejemplo:

Dim o As Double = 0
o = Calcular.Calculate("4*-1"
Console.WriteLine("Resultado: {0}", o) 'Devuelve -4
Console.ReadLine()


Admite Jerarquización a través de paréntesis, y se interpreta de izquierda a derecha. Por el momento no tiene una jerarquización de operaciones, como en los lenguajes (/,*,+,-).
Por ejemplo, si en el código escribimos:

Dim a As Integer=0
a= 1 + 4 / 2

En este caso, a valdría 3 , ya que la división tiene mayor jerarquía que la adición, por lo tanto el orden sería así:
4/2=2
a= 1 + 2
a=3

En la Función Calculate, escribirlo de esa manera resultaría en:
a= 1 + 4 / 2
1 + 4= 5
a= 5 / 2
a= 2,5


Para escribir esto en la Función Calculate, debería escribirse:
a = Calculate("1 + (4 / 2)"

Espero pueda ser útil.
Saludos!
Datos archivados del Taringa! original
0puntos
0visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
2visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

m
mrchelo2002🇦🇷
Usuario
Puntos0
Posts2
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.