【问题标题】:Visual Basic: How to include the output of a function within another functionVisual Basic:如何将一个函数的输出包含在另一个函数中
【发布时间】:2013-09-24 03:04:21
【问题描述】:

我想在 VB.NET 中创建两个函数,一个计算面积,另一个函数将面积乘以用户输入的价格得到总价。有没有办法可以将一个函数的输出包含在另一个函数中?我的程序目前无法编译,因为我相信我的逻辑不正确。谢谢!

Public Function area(ByRef enteredLength As Double, ByRef enteredWidth As Double)
    area = Val(enteredLength) * Val(enteredWidth)
End Function

Public Function totalPrice(ByRef enteredLength As Double, ByRef enteredWidth As Double)
    totalPrice = Val(area) * Val(enteredPrice)
End Function

【问题讨论】:

    标签: vb.net function user-defined-functions


    【解决方案1】:

    您可以调用该函数并将返回值用作计算的一部分,如下所示:

    Public Function area(ByRef enteredLength As Double, ByRef enteredWidth As Double) As Double
        Return enteredLength * enteredWidth
    End Function
    
    Public Function totalPrice(ByRef enteredLength As Double, ByRef enteredWidth As Double) As Double
        Return area(enteredLength, enteredWidth) * enteredPrice
    End Function
    

    没有必要使用Val() 函数,因为您将Double 值相乘并返回Double,如上面的代码所示(As Double)。

    注意:您还可以使用Return 关键字以及Function 的名称来返回值。

    【讨论】:

      【解决方案2】:

      试试这个。需要将参数值传入totalPrice里面的area函数调用中

      Public Function area(ByRef enteredLength As Double, ByRef enteredWidth As Double)
          area = enteredLength * enteredWidth
      End Function
      
      Public Function totalPrice(ByRef enteredLength As Double, ByRef enteredWidth As Double)
          totalPrice = area(enteredLength, enteredWidth) * enteredPrice
      End Function
      

      我还建议将您的函数参数更改为ByVal 而不是ByRef。我会考虑将“enteredPrice”值作为参数传递给 totalPrice 函数。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-03-26
        • 1970-01-01
        • 2022-01-04
        • 1970-01-01
        • 1970-01-01
        • 2010-10-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多