Vb.net 工资项目

Vb.net 工资项目,vb.net,Vb.net,我在社区学院上visual basic课程,我的老师似乎无法回答我的任何问题,我真的需要一些帮助来完成这个项目 到目前为止我已经知道了,但是我在格式化货币时遇到了麻烦 我尝试过使用变量而不是txtbox.text Public Class Payroll Dim count As Integer = 0 Const federal_tax_rate As Decimal = 0.12 Const state_tax_rate As Decimal = 0.04 C

我在社区学院上visual basic课程,我的老师似乎无法回答我的任何问题,我真的需要一些帮助来完成这个项目

到目前为止我已经知道了,但是我在格式化货币时遇到了麻烦

我尝试过使用变量而不是txtbox.text

Public Class Payroll
    Dim count As Integer = 0
    Const federal_tax_rate As Decimal = 0.12
    Const state_tax_rate As Decimal = 0.04
    Const medicare_tax_rate As Decimal = 0.01
    Dim GrossPay = txtGrossPay.Text.ToString("C")
    Dim FederalTax.ToString("C") = txtFederalTax.text
    Dim StateTax.tostring("C") = txtStateTax.text
    Dim MedicareTax.tostring("C") = txtMedicareTax.text
    Dim NetPay.tostring("C") = txtNetPay.text



    Private Sub btnCalculate_Click(sender As Object, e As EventArgs) Handles btnCalculate.Click
        GrossPay = txtHoursWorked.Text * txtPayRate.Text
        FederalTax = federal_tax_rate * txtGrossPay.Text
        StateTax = state_tax_rate * txtGrossPay.Text
        MedicareTax = medicare_tax_rate * txtGrossPay.Text
        NetPay = txtGrossPay.Text - txtFederalTax.Text - txtStateTax.Text - txtMedicareTax.Text
    End Sub

    'Closes the program.
    Private Sub btnExit_Click(sender As Object, e As EventArgs) Handles btnExit.Click
        Me.Close()
    End Sub

    Private Sub btnDisplayOutput_Click(sender As Object, e As EventArgs) Handles btnDisplayOutput.Click
        count = count + 1
        lstOutput.Items.Add("Employee " & count)
        lstOutput.Items.Add("----------------")
        lstOutput.Items.Add("Name: ")
        lstOutput.Items.Add("Social Security Number: ")
        lstOutput.Items.Add("Department: ")
        lstOutput.Items.Add("Hours worked: " & txtHoursWorked.Text)
        lstOutput.Items.Add("Pay rate: " & txtHoursWorked.Text)
        lstOutput.Items.Add("Gross pay: " & txtGrossPay.Text)
        lstOutput.Items.Add("Federal tax withheld: " & txtFederalTax.Text)
        lstOutput.Items.Add("State tax withheld: " & txtStateTax.Text)
        lstOutput.Items.Add("Medicare tax withheld: " & txtMedicareTax.Text)
        lstOutput.Items.Add("Net pay: " & txtNetPay.Text)
    End Sub

    'Clears the output box.
    Private Sub btnReset_Click(sender As Object, e As EventArgs) Handles btnReset.Click
        txtHoursWorked.Text = ""
        txtPayRate.Text = ""

        lstOutput.Items.Clear()
    End Sub
End Class
.tostring(“C”)必须位于等号的右侧

Dim NetPay as string=txtNetPay.text.tostring(“C2”)

但比将变量设置为字符串更正确的做法是将变量设置为数据类型Single,并在显示值时执行.tostring(“C”)

Dim NetPay as single=csng(txtnetpay.text)

lstOutput.Items.Add(“净支付:”&NetPay.Tostring(“C2”)


希望这对您有所帮助

您可以始终将所有变量声明为单个变量,然后在输出结果时,使用可以控制小数精度的format语句,如:

lstOutput.Items.Add(“工资总额:”&格式(GrossPay,“0.00”))


但您需要去掉输出变量的所有“txt”前缀。对于与财务金额相关的数字变量,我不会通过文本字段存储成本值,而是将所有内容保持为单一类型,然后格式化输出报表。(换句话说,您不必使用十进制或货币)。如果舍入错误变得很重要,您可以转换为双精度双类型变量。

请阅读并接受。这不是一个教程网站。如果您问一个特定的问题,别人会更容易回答。首先将
选项设置为Strict On
我的代码肯定有严重错误,我尝试了这两种方法在program.lstOutput.Items.Add(“预扣医疗保险税:”&NetPay.tostring(“C2”))中没有差异请确保NetPay变量是数据类型Single这是一个错误的建议;货币应始终使用十进制类型。请参阅许多示例中的一个,这是一个很好的注释。如果您想使用十进制的替代方法,而不是Single,则必须使用Double来最好地近似十进制的整数限制。