簡體   English   中英

將字符串轉換為整數的問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM