所以我尝试创建一个方法,从TextBox中获取一个值并检查该值是否为SET方法中的数字。
转换TextBox值时出现错误,我希望将其显示为try / catch异常,但必须在SET方法中验证(Summary.FirstNumber,其中SET方法检查它是否为' sa数字,否则它在ErrorMsg中返回错误
注意:我有2个带有类
的命名空间1st:Projekt_STROKA.Calculator
第二名:MathFunctions.Summary
这就是我试图让它发挥作用的方式:
在Projekt_STROKA.Calculator
中按下按钮时的调用protected void btnSum_Click(object sender, EventArgs e)
{
MathFunctions.Summary summary = new MathFunctions.Summary();
summary.FirstNumber = Convert.ToDouble(txbFirstNumber.Text);
//throws error if the input value is not a number
summary.SecondNumber = Convert.ToDouble(txbSecondNumber.Text);
txbSummary.Text = summary.Sum(summary.FirstNumber, summary.SecondNumber).ToString();
}
MathFunctions.Summary中的函数
Projekt_STROKA.Calculator calc = new Projekt_STROKA.Calculator();
private double firstNumber;
private double secondNumber;
public double FirstNumber
{
set
{
if (IsNumber(firstNumber) == true)
firstNumber = value;
else
throw new ArgumentNullException();
/*
try
{
if (IsNumber(firstNumber) == true)
firstNumber = value;
}
catch (Exception ex)
{
calc.setError(ErrorMsg(ex.Message));
}
*/
}
get { return firstNumber; }
}
public string ErrorMsg(string message)
{
return message;
}
public bool IsNumber(double number)
{
if (number.GetType() == typeof(double))
return true;
else
return false;
}
public double Sum(double firstNum, double secondNum)
{
return Math.Round((firstNum + secondNum), 2);
}
答案 0 :(得分:0)
我建议您使用以下代码段:
try
{
Object o = Console.ReadLine();
double d = double.Parse(o.ToString());
}
catch (ArgumentException ex)
{
//
}
catch (FormatException ex)
{
//
}
catch (OverflowException ex)
{
//
}
对其他类型使用相同的方法:int.Parse(),float.Parse(),decimal.Parse ...