代码之家  ›  专栏  ›  技术社区  ›  Abu Muhammad

如何使用函数的返回值?

  •  0
  • Abu Muhammad  · 技术社区  · 14 年前

    它返回一个意外值,实际值为total=0。

    total = Cscore(TextBox1.Text) * CDbl(TextBox2.Text)
    

    total = TextBox1.Text * TextBox2.Text
    

    它返回期望值,但我需要将textbox1.text传递给函数以获得期望值

    功能如下

    Public Function Cscore(ByVal score As Integer) As Double
    
        Select Case score
            Case score = 100
                Return 5.0
            Case score >= 95
                Return 5.0
            Case score >= 90
                Return 4.75
            Case score >= 85
                Return 4.5
            Case score >= 80
                Return 4.0
            Case score >= 75
                Return 3.5
            Case score >= 70
                Return 3.0
            Case score >= 65
                Return 2.5
            Case score >= 60
                Return 2.0
            Case score < 60
                Return 1.0
        End Select
    End Function
    

    提前谢谢

    4 回复  |  直到 14 年前
        1
  •  4
  •   Hans Passant    14 年前

    使用Option Strict On可以帮助您快速找到问题。Case语句的语法错误,这些表达式的计算结果为布尔值。分数很少等于真或假,只有分数等于0或1时才会得到一个值。你需要这样写:

        Select Case score
            Case Is = 100
                Return 5.0
            Case Is >= 95
                Return 5.0
            Case Is >= 90
                Return 4.75
            '' etc...
        End Select
    

    在中学习编程时使用Option Strict OnVB.NET版. 当你成为大师后,你可以再关掉它。

        2
  •  2
  •   davisoa    14 年前

    你也应该使用 Integer.TryParse

    case else 在任何 select 声明。

        4
  •  0
  •   Chase Florell    14 年前

    如果你试着按照

    Dim tb1 as Integer = Integer.Parse(TextBox1.Text)
    Dim tb2 as Integer = Integer.Parse(TextBox2.Text)
    
    total = Cscore(tb1) * tb2