vb.net 如何在visual basic代码中计算平均值?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/54453146/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-17 20:26:12  来源:igfitidea点击:

How to calculate average in visual basic code?

vb.netforms

提问by Jessica Simcoe

So I was just wondering how to calculate an average in visual basic code?

所以我只是想知道如何在 Visual Basic 代码中计算平均值?

I currently have a form created and the user is to enter 6 numbered for 6 courses and they must be in textboxes. I know that average is the 6 numbers added together divided by the count but I don't know how to grab the numbers from the textbox to calculate the average.

我目前创建了一个表单,用户将输入 6 个编号的 6 个课程,它们必须在文本框中。我知道平均值是将 6 个数字加在一起除以计数,但我不知道如何从文本框中获取数字来计算平均值。

I've searched online for the answer to this but nothing pertains to this exact problem. My textbook is also of no help.

我在网上搜索过这个问题的答案,但没有任何内容与这个确切的问题有关。我的教科书也没有帮助。

Any help would be greatly appreciated.

任何帮助将不胜感激。

Dim input As Integer
    If Integer.TryParse(InputTextbox1.Text, input) Then

      If input >= 92 And input <= 100 Then
            OutputTextbox1.Text = "A+"

       ElseIf input >= 88 And input <= 91 Then
            OutputTextbox1.Text = "A"
       ElseIf input >= 85 And input <= 87 Then
            OutputTextbox1.Text = "A-"

       ElseIf input >= 82 And input <= 84 Then
            OutputTextbox1.Text = "B+"

       ElseIf input >= 78 And input <= 81 Then
            OutputTextbox1.Text = "B"

       ElseIf input >= 75 And input <= 77 Then
            OutputTextbox1.Text = "B-"

       ElseIf input >= 72 And input <= 74 Then
            OutputTextbox1.Text = "C+"

       ElseIf input >= 68 And input <= 71 Then
            OutputTextbox1.Text = "C"

       ElseIf input >= 65 And input <= 67 Then
            OutputTextbox1.Text = "C-"

       ElseIf input >= 55 And input <= 64 Then
            OutputTextbox1.Text = "D"

       ElseIf input <= 54 Then
            OutputTextbox1.Text = "F"
        End If
    Else
       ErrorTextbox.Text = "Please ensure that what you input is a number between 0 and 100"

    End If

This is the code I have currently there is 6 textboxes using the above code to transfer numbers to letters. The numbers that the user enters is what i need to calculate into the average.

这是我目前拥有的代码,有 6 个文本框使用上述代码将数字转换为字母。用户输入的数字是我需要计算到平均值中的数字。

Thanks

谢谢

采纳答案by Erdz Wardex

Try this: first thing i did is that i total all textbox numbers and then divide to total number so that i can get the average

试试这个:我做的第一件事是把所有的文本框数字加起来,然后除以总数,这样我就可以得到平均值

Note: dont allow textbox to input a letters because it will error i converted the textbox text to double so that it will consider as number and not letters.

注意:不允许文本框输入字母,因为它会出错,我将文本框文本转换为双精度,以便将其视为数字而不是字母。

Public Class Form4
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Dim average As Double = 0.0
            Dim total As Double = 0.0
            total = CDbl(TextBox1.Text) + CDbl(TextBox2.Text) + CDbl(TextBox3.Text) + CDbl(TextBox4.Text) + CDbl(TextBox5.Text) + CDbl(TextBox6.Text)
            average = total / 6
            TextBox7.Text = average.ToString()
        End Sub
    End Class

enter image description here

在此处输入图片说明

enter image description here

在此处输入图片说明

Modified: The label_grade is the letter of the grade

修改:label_grade为成绩字母

Public Class Form4
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim average As Double = 0.0
        Dim total As Double = 0.0
        total = CDbl(TextBox1.Text) + CDbl(TextBox2.Text) + CDbl(TextBox3.Text) + CDbl(TextBox4.Text) + CDbl(TextBox5.Text) + CDbl(TextBox6.Text)
        average = total / 6
        TextBox7.Text = average.ToString()


        If average >= 92 And average <= 100 Then
            label_Grade.Text = "A+"

        ElseIf average >= 88 And average <= 91 Then
            label_Grade.Text = "A"
        ElseIf average >= 85 And average <= 87 Then
            label_Grade.Text = "A-"

        ElseIf average >= 82 And average <= 84 Then
            label_Grade.Text = "B+"

        ElseIf average >= 78 And average <= 81 Then
            label_Grade.Text = "B"

        ElseIf average >= 75 And average <= 77 Then
            label_Grade.Text = "B-"

        ElseIf average >= 72 And average <= 74 Then
            label_Grade.Text = "C+"

        ElseIf average >= 68 And average <= 71 Then
            label_Grade.Text = "C"

        ElseIf average >= 65 And average <= 67 Then
            label_Grade.Text = "C-"

        ElseIf average >= 55 And average <= 64 Then
            label_Grade.Text = "D"

        ElseIf average <= 54 Then
            label_Grade.Text = "F"
        End If
    End Sub