VB.net中的基本数学函数

VB.net中的基本数学函数,vb.net,math,equations,Vb.net,Math,Equations,因此,我目前正在添加一个基本的计算器,允许用户定义2个变量,然后按下一个按钮,将变量放入一个基本的数学方程,并给出结果,但我认为我完全错了 这是我第一次在VB中使用数学函数,如果有人能告诉我哪里出了问题,我将不胜感激 这是我目前的代码: Imports System.Math Public Class SOGACALC Dim soga As String = Math.Abs(72 - months.Text) * opp.Text Private Sub SOGACALC_Load(send

因此,我目前正在添加一个基本的计算器,允许用户定义2个变量,然后按下一个按钮,将变量放入一个基本的数学方程,并给出结果,但我认为我完全错了

这是我第一次在VB中使用数学函数,如果有人能告诉我哪里出了问题,我将不胜感激

这是我目前的代码:

Imports System.Math
Public Class SOGACALC
Dim soga As String = Math.Abs(72 - months.Text) * opp.Text
Private Sub SOGACALC_Load(sender As Object, e As EventArgs) Handles MyBase.Load

End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    SOGAValue.Text = soga
End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    HOME.Show()
    Me.Close()
End Sub

End Class
你在哪里写的

Dim soga As String = Math.Abs(72 - months.Text) * opp.Text
我怀疑您预期的是,
soga
将是其中提到的属性的函数,并且当这些属性发生变化时会发生变化。它不是那样工作的

获取随参数变化的值的方法是定义一个函数,因此您可能有:

Friend Function Soga(monthValue As Control, oppThing As Control) As String
    Dim month As Integer = CInt(monthValue.Text)
    Dim opp As Decimal = CDec(oppThing.Text)

    Return (Math.Abs(72 - month) * opp).ToString()

End Function
把它叫做:

'TODO: Give Button1 a meaningful name.
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    SOGAValue.Text = Soga(months, opp)
End Sub
表格上有控件名称“月”和“opp”

我强烈建议您使用-它指出代码中的问题并为您提供更正建议

请注意,我为
opp
使用了十进制类型-我不得不猜测一个合适的类型,因为在您向我们展示的代码中,没有任何地方指示它需要什么类型


一个改进是使用TryParse方法而不是CInt/CDec,这样,如果用户犯了简单的键入错误,您就可以通知用户。

出于好奇。。。有没有办法将返回的值四舍五入到小数点后2位?我只能找到舍入选项,但舍入到最接近的整数而不是小数place@DavidHosker