首页 > 解决方案 > 用函数解决 Visual Basic.Net 参数未指定错误

问题描述

初学者 Visual Basic 编码器 - 如果需要,icnldued 所有代码,但 decTotalCharges = ComputeCharges(intDays, decMCharges, decSCharges, decLabFees, decRehabFees)给我带来了困难 - 一个错误显示“没有为“公共函数计算更改......”的参数 'decRehabFees' 指定参数......任何想法解决这个问题?或者任何简化此代码的提示?这是针对大学项目的,哈哈。

Option Strict 
Public Class Form1
   Private Sub btnCalculate_Click(sender As Object, e As EventArgs) Handles btnCalculate.Click
    'Declare variables
    Dim intDays As Integer
    Dim decMCharges As Decimal
    Dim decSCharges As Decimal
    Dim decLabFees As Decimal
    Dim decRehabFees As Decimal
    Dim decTotalCharges As Decimal
    Dim decTax As Decimal
    Dim decTotal As Decimal

    Try
        GetInfo(intDays, decMCharges, decSCharges, decLabFees, decRehabFees)
        decTotalCharges = ComputeCharges(intDays, decMCharges, decSCharges, decLabFees, decRehabFees)
        decTax = ComputeTax(decTotalCharges, decTax)
        decTotal = ComputeTotal(decTotalCharges, decTax, decTotal)
        Display(decTotalCharges, decTax, decTotal)
    Catch ex As Exception

    End Try
End Sub
Sub GetInfo(ByRef intDays As Integer, ByRef decMCharges As Decimal, ByRef decSCharges As Decimal, ByRef decLabFees As Decimal, ByRef decRehabFees As Decimal)
    'Recieves values
    intDays = CInt(txtDays.Text)
    decMCharges = CDec(txtMCharges.Text)
    decSCharges = CDec(txtSCharges.Text)
    decLabFees = CDec(txtLabFees.Text)
    decRehabFees = CDec(txtRehabFees.Text)
End Sub
Function ComputeCharges(ByRef decTotalCharges As Decimal, ByVal intDays As Integer, ByVal decMCharges As Decimal, ByVal decSCharges As Decimal, ByVal decLabFees As Decimal, ByVal decRehabFees As Decimal) As Decimal
    'GetInfo(intDays, decMCharges, decSCharges, decLabFees, decRehabFees)
    decTotalCharges = CDec(intDays * 300) + decMCharges + decSCharges + decLabFees + decRehabFees
End Function
Function ComputeTax(ByVal decTotalCharges As Decimal, ByRef decTax As Decimal) As Decimal
    decTax = CDec(decTotalCharges * 0.07)
End Function
Function ComputeTotal(ByVal decTotalCharges As Decimal, ByVal decTax As Decimal, ByRef decTotal As Decimal) As Decimal
    decTotal = decTotalCharges + decTax
End Function
Function Display(ByVal decTotalCharges As Decimal, ByVal decTax As Decimal, ByVal decTotal As Decimal) As String
    lblTax.Text = decTax.ToString("c")
    lblTotal.Text = decTotal.ToString("c")
    lblTotalCharges.Text = decTotalCharges.ToString("c")
End Function

结束类

标签: vb.net

解决方案


ComputeCharges需要 6 个参数。你只喂它 5. 你需要提供第一个参数,ByRef decTotalCharges As Decimal


推荐阅读