результат выражения в VB 2010
при нажатии на кнопку должен выводиться результат выражения, записанного в текстбоксе например 5+5*2. как это сделать?

  • Вот Вам простая, но эффективная функция (не мучайтесь вручную текст разбирать) :

    VB.NET:
    Private Function Evaluate(expression As String) As Double
    Dim table = New DataTable()
    table.Columns.Add("expression", System.Type.GetType("System.String"), expression)
    Dim row = table.NewRow()
    table.Rows.Add(row)
    Return Double.Parse(CStr(row("expression")))
    End Function

    При нажатии на кнопку:
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Label1.Text = Evaluate(TextBox1.Text)
    End Sub

    С#:
    private double Evaluate(string expression)
    {
    DataTable table = new DataTable();
    table.Columns.Add("expression", typeof(string), expression);
    DataRow row = table.NewRow();
    table.Rows.Add(row);
    return double.Parse((string)row["expression"]);
    }

  • Придется разобрать выражение вручную или заставить сторонний язык это сделать.
    Самый простой способ - ищем +, потом берем строки слева-справа, и отдаем их в рекурсию (в себя-же) , при выходе складываем, если не нашли - то значит у нас число (или ошибка) . И так по всем операциям.

Вас заинтересует