entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

0voto

Como convierto una formula string a una formula real en Visual Studio

Quiero que una formula que esta guardada en un string se convierta directamente a una formula real y poder trabajar con ella en C#, alguna idea o alguna forma de hacerlo?.

0voto

white comentado

Hola @trossman, a que te refieres con una formula? estamos hablando de una formula matematica por ejemplo (a * b) / c? quieres obtener acaso a, b y c y evaluar la cadena? podrias agregar un ejemplo o especificar mas tu pregunta?

0voto

trossman comentado

Si, de una formula matematica, la idea es que la persona ingrese (ab)/c como string y devuelva el resultado en este caso (55)+10=35

0voto

trossman comentado

Si, de una formula matematica, la idea es que la persona ingrese (ab)/c como string y devuelva el resultado en este caso (55)+10=35

1 Respuesta

2votos

white Puntos75880

Si se trata de una expresion matematica existen librerias en C# como NCalc, que evalua cadenas de texto con algunas opciones personalizables.

http://ncalc.codeplex.com/


una solucion podria ser usar DataTable(), pero tiene sus limitaciones en cuanto a operadores.

DataTable table;
table.Compute("1 + 1", null)

https://msdn.microsoft.com/es-es/library/system.data.datatable.compute%28v=vs.110%29.aspx


tambien puedes hacer uso de MS Script control y evaluar una cadena. ( objeto COM )

MSScriptControl.ScriptControl control = new MSScriptControl.ScriptControl();
control.Language = "VBScript";
object result = control.Eval("1 + 1"); 

como alternativa puedes usar expresiones regulares y evaluar la cadena por tu cuenta.


otras librerias y proyectos:

http://www.codeproject.com/Tips/381509/Math-Parser-NET-Csharp
http://www.bestcode.com/html/math_parser_for_dot_net.html

0voto

trossman comentado

Justo cuando escribí estaba leyendo de Ncalc, y justo es lo que necesitaba hubiese preguntado en esta comunidad antes y me hubiese ahorrado mucho tiempo, Muchas Gracias.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta