1

私の特定のケースでは、propertyPriceTextBox の値を数値のみで整数にする必要があります。値も入力する必要があり、Messagebox.Show() で警告を表示するだけで済みます。

これは私がこれまでに持っているものです。

        private void computeButton_Click(object sender, EventArgs e)
    {
        decimal propertyPrice;

        if ((decimal.TryParse(propertyPriceTextBox.Text, out propertyPrice)))
            decimal.Parse(propertyPriceTextBox.Text);
        {

            if (residentialRadioButton.Checked == true)



                commisionLabel.Text = (residentialCom * propertyPrice).ToString("c");



            if (commercialRadioButton.Checked == true)

                commisionLabel.Text = (commercialCom * propertyPrice).ToString("c");

            if (hillsRadioButton.Checked == true)

                countySalesTaxTextBox.Text = ( hilssTax * propertyPrice).ToString("c");

            if (pascoRadioButton.Checked == true)

                countySalesTaxTextBox.Text = (pascoTax * propertyPrice).ToString("c");

            if (polkRadioButton.Checked == true)

                countySalesTaxTextBox.Text = (polkTax * propertyPrice).ToString("c");

            decimal result;

                result = (countySalesTaxTextBox.Text + stateSalesTaxTextBox.Text + propertyPriceTextBox.Text + comissionTextBox.Text).ToString("c");
        }

        else (.)

            MessageBox.Show("Property Price must be a whole number.");
    }
4

2 に答える 2

3

decimal.TryParseuseを使用する代わりInt32.TryParseに、値が整数でない場合は false を返します。

int propertyPrice;
if (Int32.TryParse(propertyPriceTextBox.Text, out propertyPrice)
{
    // use propertyPrice
}
else
{
    MessageBox.Show("Property Price must be a whole number.");
}

Parse変換のように再度呼び出す必要はなくTryParse、成功した場合は true を返し、そうでない場合は false を返します。

于 2012-10-05T21:38:40.810 に答える
0

この方法で達成できます

   int outParse;

   // Check if the point entered is numeric or not
   if (Int32.TryParse(propertyPriceTextBox.Text, out outParse) && outParse)
    {
       // Do what you want to do if numeric
    }
   else
    {
       // Do what you want to do if not numeric
    }     
于 2014-01-02T11:50:11.260 に答える