Visual Basic:如何将一个函数的输出包含在另一个函数中

Posted

技术标签:

【中文标题】Visual Basic:如何将一个函数的输出包含在另一个函数中【英文标题】:Visual Basic: How to include the output of a function within another function 【发布时间】: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

【问题讨论】:

【参考方案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 函数。

【讨论】:

以上是关于Visual Basic:如何将一个函数的输出包含在另一个函数中的主要内容,如果未能解决你的问题,请参考以下文章

SSIS如何使用Visual Basic将空白日期插入数据库

如何在 Visual Basic 6.0 中创建带有文本框的数组

在 C++ 中调用 Visual Basic DLL

如何在 Visual Basic 6 中制作表单模板?

如何在Visual Basic 6.0中使用主键在一个表中使用外键获取记录

如何在此 Access-SQL server-Visual Basic 6 (ADO) 表单中不包含重复元素(主详细信息)