【问题标题】: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 函数。