VB.net Moyenne de 3 chiffres de deux manières différentes. Question débutants

StackOverflow https://stackoverflow.com/questions/632988

  •  08-07-2019
  •  | 
  •  

Question

J'ai un formulaire qui a 3 zones de texte pour 3 valeurs d'entrée, avec une zone de liste pour la sortie. J'ai besoin que l'utilisateur puisse saisir 3 nombres différents et cliquer sur un bouton pour trouver la moyenne. Je ne sais pas trop comment faire / aborder cela. Toute aide est grandement appréciée.

Toujours bloqué ....

Private Sub btnAverage_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)     
Handles btnAverage.Click
    Dim a As Integer = CInt(txtone.Text)
    Dim b As Integer = CInt(txtTwo.Text)
    Dim c As Integer = CInt(txtThree.Text)
    Dim average As Integer
    average = (a + b + c) / 3
    lstOutput.Text = average
Était-ce utile?

La solution

Vous ne savez pas comment convertir les entrées en nombres? Si c'est le cas, utilisez la fonction CInt.

Public Sub OnAverageClick(ByVal sender as Object, ByVal e As EventArgs) Handles AverageButton.Click

    Dim input1 as Integer = CInt(textBox1.Text)
    Dim input2 as Integer = CInt(textBox2.Text)
    Dim input3 as Integer = CInt(textBox3.Text)
    Dim average = (input1 + input2 + input3) / 3

End Sub

Autres conseils

@JaredPar

J'utiliserais plutôt Integer.TryParse.

Cette fonction calcule la moyenne d'un nombre quelconque de valeurs non nulles:

''' <summary>Calcula el Promedio de los Valores ingresados.
''' Sólo tiene en cuenta los Valores mayores que 0.</summary>
''' <param name="diasValores">Valores a Calcular</param>
Function PromedioValores(ByVal ParamArray diasValores() As Integer)
    'Esta funcion calcula el promedio de los valores ingresados como parametro
    Dim result As Double = 0
    If diasValores.Length <= 0 Then Exit Function
    Dim cant As Integer = 0
    For i As Integer = 0 To UBound(diasValores, 1)
        If diasValores(i) > 0 Then
            cant = cant + 1
            result += diasValores(i)
        End If
    Next i
    If result > 0 Then
        result = result / cant
    End If

    Return result
End Function

Utiliser:

Me.TextBox1.Text = PromedioValores(10, 0, 0, 15, 0, 12, 12, 0)
protected sub on_btn_click()

listbox1.items.add(new listitem((integer.parse(textbox1.text) + integer.parse(textbox2.text) + integer.parse(textbox3.text)) / 3 ))

end sub
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top