1

textbox1(int) を textbox2(double) で乗算し、textbox3 に double を返したいと思います。請求書アプリを実行しており、数量をレートで乗算して金額を取得する必要があります。これまでのところ...

private void textbox2_TextChanged(object sender, system.EventArgs e)
{
 int32 qty = int32.Parse(Textbox1.text);
 Double rate = Double.Parse(Textbox2.text);
 Double amt = qty * rate;
 textbox3.text = amt.ToString();
}

どこが間違っていますか?

4

3 に答える 3

4

まず、最初のテキスト ボックスが空または空白ではないかどうかを確認する必要があります。次に、最初のテキスト ボックスが空または空白の場合は、適切なメッセージをユーザーに伝えます。

以下の例を試してください。

if (!string.IsNullOrWhiteSpace(Textbox1.text))
{
    int qty = Int32.Parse(Textbox1.text);
    double rate = Double.Parse(Textbox2.text);
    Textbox3.text = (rate* (double) qty).ToString();
}
else
{
    //Give appropriate message to user for entering quantity in textbox 1
}
于 2012-12-27T09:59:14.377 に答える
0

最初に。お金を扱うときは、2 倍ではなく 10 進数を使用してください。また、小数では、コンマとドットの両方を小数点記号として使用するユーザーには常に問題があります。

このコードは私のために働いた:

    int qty = Int32.Parse("2");
    Decimal rate = Decimal.Parse("3.14".Replace(".", ","));
    Decimal amt = qty * rate;
    Console.WriteLine(amt);
于 2012-12-27T09:50:57.590 に答える