PEMDAS Visual Basic

时间:2014-01-18 01:31:21

标签: vb.net windows

编辑2: *修正了一些语法,使其更容易理解。

我需要有关在vb.net中构建PEMDAS应用程序的帮助。我希望它能解决这样输入的方程式,例如:4 - 3(4 -2(6 - 3))÷2。我试图使它在输入文本框中然后单击按钮时将在标签上显示该等式的答案。我首先尝试编写用于查找括号的部分,但它不起作用。我试图让程序在等式中查找括号,然后根据括号内的运算符,它将对内部的两个数字进行加,减,除或乘。我的代码是:

Public Class Form1

    Private Property ValidChars As String

    Private Property Num2 As Object

    Private Property Num1 As Object

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        ValidChars = ("()")
        If TextBox1.Text = ValidChars Then
            TextBox1.Text() = Num1 + Num2
        End If
    End Sub
End Class

任何帮助都将受到赞赏。

谢谢,再见!

编辑1:

您好我需要有关构建PEMDAS应用程序的帮助,我需要帮助。我有一个文本框和一个按钮,我需要按下才能得到答案,答案将在标签上。我首先做了括号,这是我没有工作的部分。我需要的是一个可以在括号中找到数字然后如果它显示+,/, - ,*的东西,那么它会做的事情但我需要帮助。我的代码是:像这样的操作顺序程序,例如:4 - 3(4 -2(6 - 3))÷2及其答案。

Public Class Form1

    Private Property ValidChars As String

    Private Property Num2 As Object

    Private Property Num1 As Object

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        ValidChars = ("()")
        If TextBox1.Text = ValidChars Then
            TextBox1.Text() = Num1 + Num2
        End If
    End Sub
End Class

任何帮助都将受到赞赏。

谢谢再见!

1 个答案:

答案 0 :(得分:1)

这应该是你正在寻找的。这个内置函数有其局限性,特别是如果表达式涉及三角函数,但这应该足以满足您的需求。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Try
        Dim answer = New DataTable().Compute(TextBox1.Text, Nothing)
        MsgBox(answer)
    Catch ex As Exception
        MsgBox("Syntax Error")
    End Try
End Sub

如果你想要一个更具挑战性的方法,我建议你这样做,你可以创建自己的算法来操纵字符串并获取数字来解决表达式。字符串操作函数应该是您需要的函数,如Mid,Split,Contains等。