我正致力于在Visual Studio 2013中构建一个简单的限制计算器。现在我的程序设置方式使用户首先输入限制的等式,然后输入限制值。 (例如x + 3的等式,极限值3 - 答案应为6)
我正在设计它以便从用户输入的数字的左侧和右侧都受到限制,如果两个答案相差很多,程序会说限制不是&#39存在。 (但是这段代码还没有到位 - 我计划在解决这个问题之后继续处理它)
无论如何,现在我仍然坚持我的代码的一部分。如上所述,用户可以输入自己的自定义功能。然后我让程序自动替换所有" x"具有用户输入的限制值的值。但是,当我有答案显示时,它会给我一个5.0001 + 3
而不是8.0001的答案。下面是我的代码,你知道我能解决这个问题的任何方法,以便它执行所需的计算,并且只吐出一个数字而不是用x代替的等式吗?
Public Class Form1
Private Sub btnCalculate_Click(sender As Object, e As EventArgs) Handles btnCalculate.Click
Dim Limit As Double = txtLimit.Text
Dim Equation As String = txtEquation.Text
Dim LeftTest As Double
Dim RightTest As Double
LeftTest = (Limit - 0.0001)
RightTest = (Limit + 0.0001)
Dim NewEquation = Replace(Equation, "x", RightTest)
Dim FinalAnswer
FinalAnswer = NewEquation
MsgBox("The limit for this equation is " & NewEquation)
End Sub
End Class
任何帮助都会受到赞赏。
答案 0 :(得分:0)
您可以从以下链接下载并使用第三方Parser.dll
http://simplemathparser.codeplex.com/
和代码如下所示
Dim Limit As Double = txtLimit.Text
Dim Equation As String = txtEquation.Text
Dim LeftTest As Double
Dim RightTest As Double
LeftTest = (Limit - 0.0001)
RightTest = (Limit + 0.0001)
Dim parser As New MathParser.Parser("x")
Dim parsingResult = parser.Parse(Equation)
Dim result = parsingResult.Evaluate(RightTest)
MsgBox("The limit for this equation is " & result )