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

整数の代わりに小数を使用してみてください。

Val() の代わりに Decimal.TryParse を使用してみてください。

合計には変数を使用してみてください。

変数を使用して 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

これはすべて 1 行で行うことができますが、このように設定すると、各税金の合計を表示し、適切と思われる方法で使用することができます。

尊敬されるラベルの横にすべての税額を表示する必要があるプログラムを作成し、税引き後の正味支払いを計算する必要がありました。

計算するためのより重要な数値を保持するため、小数を使用して計算することをお勧めします。この合計を表示するときにできることは、最終的な 10 進数を文字列に変換して、エンド ユーザーにとってより意味のあるものにすることです。そのような:

lblName.text = decNetPay.ToString("C2")

そのため、有効数字 2 桁の通貨値として表示されます。

編集:

送信したところ、これが非常に古いスレッドであることがわかりました。=/

于 2015-11-03T15:53:25.537 に答える