El post que buscas se encuentra eliminado, pero este también te puede interesar

función calculate en visual basic .net

Anuncios

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!
https://docs.google.com/file/d/0B4xfIj5UEmLreEFFZFd4b20tZDg/edit?usp=sharing

Anuncios

0 comentarios - función calculate en visual basic .net

Los comentarios se encuentran cerrados