c#警告文本框是否为空或包含非整数

时间:2012-10-05 21:35:16

标签: c# textbox string

在我的特定情况下,我需要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.");
    }

2 个答案:

答案 0 :(得分:3)

如果值为非整数,则不会使用decimal.TryParse使用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。

答案 1 :(得分: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
    }