close

平常我們在做轉型的動作時都是用Parse

string testStr = "123";
decimal.Parse(testStr);

這樣做平時是不會有問題的,不過假如有一天testStr這個變數的值變成非數字

string testStr = "abc";
decimal.Parse(testStr);

就會出現下面的錯誤訊息

Parse圖1

再用Parse做型態轉換時只要格式不對程式就會報錯,如何避免這個錯誤呢,請改用TryParse

string testStr = "123";
decimal transStr;
decimal.TryParse(testStr, out transStr);
Response.Write(transStr); //transStr=123

string testStr2 = "abc";
decimal transStr2;
decimal.TryParse(testStr2, out transStr2);
Response.Write(transStr2); //testStr2=0

TryParse是較穩健的型態轉換,您必須先給他一個out的值,如果testStr這個變數不是decimal格式就會給0如果是decimal格式就會轉型成功

也可以把這個TryParse寫成Method讓以後方便使用

decimal testStr3 = TransStringToDecimal("456");
Response.Write(testStr3); //testStr3=456

public decimal TransStringToDecimal(string value)
{
   decimal result;
   decimal.TryParse(value, out result);

   return result;
}
arrow
arrow
    文章標籤
    tryparse parse net
    全站熱搜

    Leo 發表在 痞客邦 留言(0) 人氣()