SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: BLADDE en Jueves 7 de Febrero de 2008, 18:50

Título: Evaluar Expresiones
Publicado por: BLADDE en Jueves 7 de Febrero de 2008, 18:50
amigos como estan mi pregunta es la siguiente creen ustedes posible que se pueda realizar de una manera directa la evaluacion de una expresion matematica es decir supongamos que

texBox1.text="2^4";


como hago para evaluar esa expresion y me de el resultado correspondiente??

por ejemplo q yo tenga una funcion
numero=eval(TextBox1.text);
ojo eval que haga directo la evaluacion de la cadena
se puede esto??


PD lo estoy haciendo a lo arcaico es decir un case que tiene los operadores y funciones si encuentro por ejemplo un ^  entonces tomo lo q esta ala derecha y lo elevo a lo q esta a su izquierda.

mi intencion es saber si se puede hacer directo atraves del lenguaje c#
Título: Re: Evaluar Expresiones
Publicado por: hano en Jueves 7 de Febrero de 2008, 19:25
Puedes mirarte el patrón Interpreter (http://www.google.es/search?q=interpreter+pattern) y hacerte un evaluador sencillo.

También puedes investigar cómo llamar a la funcíon 'eval (http://www.google.es/search?q=eval+expressions)' desde C#.

Un saludo.
Título: Re: Evaluar Expresiones
Publicado por: JuanK en Jueves 7 de Febrero de 2008, 21:11
Cita de: "BLADDE"
amigos como estan mi pregunta es la siguiente creen ustedes posible que se pueda realizar de una manera directa la evaluacion de una expresion matematica es decir supongamos que

texBox1.text="2^4";


como hago para evaluar esa expresion y me de el resultado correspondiente??

por ejemplo q yo tenga una funcion
numero=eval(TextBox1.text);
ojo eval que haga directo la evaluacion de la cadena
se puede esto??


PD lo estoy haciendo a lo arcaico es decir un case que tiene los operadores y funciones si encuentro por ejemplo un ^  entonces tomo lo q esta ala derecha y lo elevo a lo q esta a su izquierda.

mi intencion es saber si se puede hacer directo atraves del lenguaje c#
yo utilizaria expresiones regulares, y arboles.
Título: Re: Evaluar Expresiones
Publicado por: BLADDE en Jueves 7 de Febrero de 2008, 21:23
jeje lo de la funcion eval fue algo que puse como ejemplo cuando me refiero a eval es algo contenga una libreria o rutina encargada de hacer el parser que deseo
gracias de todas formas sigo buscando
Título: Re: Evaluar Expresiones
Publicado por: BLADDE en Jueves 7 de Febrero de 2008, 21:33
jejeje expresiones regulares y arboles es hacer toda el analisis de la cadena me imagino esta una libreria q se encarge de eso acabo de encontrar algo q se llama
IMSL http://www.vni.com/products/imsl/cSharp/overview.php (http://www.vni.com/products/imsl/cSharp/overview.php) pero no hallo como bajarla incontre otra http://www.cdrnet.net/projects/nmath/ (http://www.cdrnet.net/projects/nmath/)   estas logre bajar solo 2 de las q comenta la Ytrium no la logro descargar y creo q es la q me sirve.
las 2 que descarge no encuentro como meterlas a mi sharpdeveloper o al .net si alguen me ayuda pls jejejej