[英]Issue in converting string to integer
我想使用 CalcEngine 庫在多個文本框中進行數學計算。 這段代碼是整個項目的一部分。 為什么會報錯? 錯誤在“CE.Evaluate(textBoxTLA.Text).ToString()”部分
private void button1_Click(object sender, EventArgs e)
{
CalcEngine.CalcEngine CE = new CalcEngine.CalcEngine();
int.TryParse(textBoxTLA.Text, CE.Evaluate(textBoxTLA.Text).ToString());
}
TryParse
將整數作為第二個參數,而您提供的是String
。
它的工作原理是這樣的(我不知道您要解析哪個字符串,我假設已評估的字符串):
int target;
CalcEngine.CalcEngine CE = new CalcEngine.CalcEngine();
int.TryParse(CE.Evaluate(textBoxTLA.Text).ToString(), out target);
不過最好使用Parse
,這樣您就可以進行正確的錯誤處理(而且代碼將更具可讀性)。
此外,您在一行中做了很多事情,這使得調試變得更加困難,並向您的用戶提供明確的信息。 例如,如果CE.Evaluate
失敗怎么辦?
TryParse 接收兩個參數,您要解析的字符串和接收輸出的 out 參數。
所以說我的字符串是textBoxTLA.Text
,我會像這樣將它解析為 int :
int myInt;
if(int.TryParse(textBoxTLA.Text, out myInt))
{
//Do whatever you need with calcEngine
}
它這樣做是為了它可以返回一個布爾值是否成功,所以如果你不輸入 if 原因,它無法解析 int。 確保使用它並避免錯誤和異常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.