如何检查SET方法中的数字是否为数字?
本文关键字:数字 是否 方法 SET 何检查 检查 | 更新日期: 2023-09-27 18:12:35
所以我尝试创建一个方法,在那里我从文本框中获得一个值,并检查该值是否在SET方法中是一个数字。
在转换TextBox值时,我得到一个错误,我想将其显示为try/catch异常,但必须在SET方法(摘要)中进行验证。FirstNumber,其中SET方法检查它是否是一个数字,否则在ErrorMsg中返回一个错误)
注意:我有两个命名空间与类
1: Projekt_STROKA。计算器
2: MathFunctions。摘要
这是我试图使它工作的方法:
在Projekt_STROKA中按下按钮时的调用。计算器
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中的函数。摘要
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);
}
我建议您使用以下代码片段:
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。解析…