0

所以我正在制作一个程序,用户输入他的姓名、工作时间、他的工资率和点击次数。然后它将退还以下税款:

总工资 - 税前支付。

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,但我对如何编程感到困惑。

4

2 回答 2

2

您应该尝试使用小数而不是整数。

您应该尝试使用 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)
于 2012-08-23T17:22:07.353 回答
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 个有效数字的货币值。

编辑:

提交后,我发现这是一个非常古老的线程。=/

于 2015-11-03T15:53:25.537 回答