Vb.net 工资项目
我在社区学院上visual basic课程,我的老师似乎无法回答我的任何问题,我真的需要一些帮助来完成这个项目 到目前为止我已经知道了,但是我在格式化货币时遇到了麻烦 我尝试过使用变量而不是txtbox.textVb.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
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来最好地近似十进制的整数限制。