1
所以我嘗試創建一個方法,從TextBox中獲取值並檢查該值是否是SET方法中的數字。如何檢查SET方法中的數字是否是一個數字?
轉換TextBox值時出現錯誤,我想將它顯示爲try/catch異常,但必須在SET方法中進行驗證(Summary.FirstNumber,其中SET方法檢查它是否爲數字,否則返回ERRORMSG錯誤)
注:我有2個命名空間與類
1: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);
}
我最好使用'int.TryParse'檢查該值是一個有效的int – Pikoh
但是如果用戶輸入一個Double類型值,因爲它是用於計算的,它會返回一個四捨五入到小數點後兩位的數字? – McBooley
那麼,那麼'Double.TryParse' – Pikoh