所以我正在创建一个程序,用户输入他的名字,工作时间,以及他的工资和点击率计算。然后它将退还以下税费:
总薪酬 - 税前薪酬。
FICA - 总薪酬的8%。
FTW - 通过将总薪水乘以20%来计算。
州所得税 - 总薪酬的2%。
净工资 - 税后总薪酬。
我尝试了这个,但它不适合我。 Private Sub cmdSubmit_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)处理cmdSubmit.Click
Dim add, add2, add3, add4 As Integer
add = Val(txtPrice1.Text)
add2 = Val(txtPrice2.Text)
add3 = Val(txtPrice3.Text)
add4 = Val(txtPrice4.Text)
lblTest.Text = Format(add + add2 + add3 + add4, "currency")
lblTest2.Text = Format(lblTest.Text * 0.06 + lblTest.Text, "currency")
End Sub
我知道你会使用.txt和Val,但我对如何编程这个感到困惑。
答案 0 :(得分:2)
您应该尝试使用Decimal而不是Integers。
您应该尝试使用Decimal.TryParse而不是Val()。
您应该尝试使用变量作为总和。
您应该尝试使用变量来计算0.06乘数。
Dim add, add2, add3, add4 As Decimal
If Not Decimal.TryParse(txtPrice1.Text, add) Then
MessageBox.Show("Bad Number")
End If
etc...
Dim total As Decimal = add + add2 + add3 + add4
Dim amount As Decimal = (total * 0.06) + total
lblTest.Text = String.Format("{0:C}", total)
lblTest2.Text = String.Format("{0:C}", amount)
答案 1 :(得分:0)
我建议使用一些常数来帮助清理,如果将来它们发生变化,就可以更容易地改变税率。
Const cdecFICA as Decimal = 0.08D
Const cdecFTW as Decimal = 0.20D
Const cdecState as Decimal = 0.02D
Dim decFICA as Decimal
Dim decFTW as Decimal
Dim decState as Decimal
Dim decNetPay as Decimal
Dim decGrossIncome as Decimal
'Use your tryparse statement here'
decGrossIncome = txtHours.text * txtPayRate.text
decFICA = decGrossIncome* cdecFICA
decFTW = decGrossIncome* cdecFTW
decState = decGrossIncome* cdecState
decNetPay = decGrossIncome - decFICA - decFTW - decState
这一切都可以在一行上完成,但以这种方式进行设置将允许您显示每个税收总额并按您认为合适的方式使用它们。
我必须创建需要我显示其所尊重标签旁边的所有税值的程序,然后计算税后的净工资。
很好用小数来计算,因为它包含更多有效数字来计算,当你显示这个总数时你可以做的是将最后的十进制数转换成一个字符串,使其对最终用户更有意义。如:
lblName.text = decNetPay.ToString("C2")
因此它将显示为具有2位有效数字的货币值。
编辑:
提交后,我看到这是一个非常古老的主题。 = /