Inicio - Articulos - Descargas de Código Fuente - VituZone - Anuncia Aquí - Contáctame - Suscríbete
¿Prefieres buscar los artículos por temas? Encuéntralos aquí
.Net Framework 2.0 (5)
ASP.net 2.0 (4)
Otras herramientas (1)
Windows Mobile (1)

Califica este artículo:




Estás en la categoría: .Net Framework 2.0
Puedes visitar artículos similares en: .Net Framework 2.0

Evaluador de expresiones matemáticas en C#

Breve descripción: Este breve artículo muestra como utilizar el evaluador de expresiones JScript de Microsoft para evaluar expresiones matemáticas.
Autor: Víctor Hurtado Díaz
Fecha publicación: 26/04/2009
Cantidad Visitas al artículo: 943
Calificación del artículo: Regular Ver Calificaciones dadas a este artículo



 El .net framework ofrece la posibilidad de evaluar expresiones matemáticas de tal modo que podamos por ejemplo hacer un pequeño programa que digamos obtenga el resultado de alguna ecuación o algo por el estilo.

Este evaluador es bastante sencillo (no por eso deja de ser útil), permitiendo evaluar expresiones matemáticas tales como 2*2, 3+5, Sin(90), etc.

La sintaxis para las expresiones que se pueden evaluar están dadas por las mismas funciones que se pueden utilizar en JavaScript. El conjunto completo de funciones que pueden ser evaluadas las puede ver en esta referencia del objeto Math de JavaScript

Para nuestro ejemplo se utilizará sólo una página web en la que se ingresará directamente la expresión y se obtendrá el resultado.

Se deben hacer 2 referencias en el proyecto, estas son a Microsoft.JScript y a Microsoft.Vsa tal como se aprecia en las siguientes imágenes:



Referencia a Microsoft.JScript



Referencia a Microsoft.Vsa


Ahora vemos el html de la página aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Evaluador de Expresiones</title>
</head>
<body>
<form id="frmEvaluadorExpresiones" runat="server">
    <table>
      <tr>
        <td>Expresión:</td>
        <td><asp:TextBox ID="txtExpresion" runat="server"></asp:TextBox></td>
      </tr>
      <tr>
        <td>Resultado:</td>
        <td><asp:Label ID="lblResultado" runat="server"></asp:Label></td>
      </tr>
      <tr>
        <td><asp:Button ID="btnEvaluar" runat="server" Text="Evaluar Expresión"
            onclick="btnEvaluar_Click" /></td>
        <td>&nbsp;</td>
      </tr>
    </table>
</form>
</body>
</html>
Ahora vemos el código del evaluador:

using System;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

using Microsoft.JScript;
using Microsoft.JScript.Vsa;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
  protected void btnEvaluar_Click(object sender, EventArgs e)
  {
    VsaEngine engine = VsaEngine.CreateEngine();
    object o = null;
    try
    {
      o = Microsoft.JScript.Eval.JScriptEvaluate(this.txtExpresion.Text, engine);
      this.lblResultado.Text = System.Convert.ToDouble(o).ToString();
    }
    catch
    {
      this.lblResultado.Text = "No se pudo evaluar la expresion";
    }
  }
}

Algunos expresiones de ejemplo que pueden probar son: 3 + 1, 4*2, Math.Sin(90), Math.SQRT2(2).



Recuerde que si tiene algún comentario o necesita el desarrollo de alguna solución referente al artículo actual puede contactarme en el momento que lo necesite.

Palabras clave del artículo:

JScript, C#, Evaluador Expresiones matemáticas


vitucho.net es la página personal de Víctor Hurtado Díaz
Esta página puede ser usada sólo bajo estos Términos de uso
¿Quieres ver todas las secciones del sitio? entra al Mapa del sitio


Admin