VB.net Moyenne de 3 chiffres de deux manières différentes. Question débutants
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
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