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这将返回 false:Int32.TryParse

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 回答