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