[原]如何把object解析為int,double,float?

來源:互聯網
上載者:User
    寫這篇文章是因為我看到了Allen Lee的How to Parse a string to an int? [C#],很受益,也很敬佩他這麼嚴謹的態度.

    他的文章裡只是提到了如何把string解析為int, 我就現學現賣了:) 寫出了三個類型(int,double,float)的轉換.小弟不才,還請大家不吝賜教!

protected void Page_Load(object sender, EventArgs e)
  {
    int init = 414; //試一試 :)
    string str = "100000000000000000000000000000000000000000000";
    Response.Write("<li>" + GetObj2Int(str, init));
    Response.Write("<li>" + GetObj2Double(str, init));
    Response.Write("<li>" + GetObj2Float(str, init));
  }

  public static float GetObj2Float(object obj, float initValue)
  {//Author:Kennytian@msn.com
    string s = obj.ToString();
    float f = float.Epsilon; //只是初始化一個值,沒有其它意義
    bool isSuccessful = float.TryParse(s, out f);
    if (isSuccessful) //盡量不在判斷裡做一些運算
    {
      return f; 
    }
    return initValue; //如果失敗後就返回
  }

  public static double GetObj2Double(object obj, double initValue)
  {//Author:Kennytian@msn.com
    string s = obj.ToString();
    double d = double.NegativeInfinity; //初始值為-Infinity,也可以賦為0;
    bool isSuccessful = double.TryParse(s, out d); //返回一個是否轉換成功的bool值
    if (isSuccessful)
    {
      return d;
    }
    return initValue;
  }

  public static int GetObj2Int(object obj, int initValue)
  {//Author:Kennytian@msn.com
    string s = obj.ToString();
    int i = int.MinValue; //初始值為-2147483648
    bool isSuccessful = int.TryParse(s, out i);
    if (isSuccessful)
    {
      return i; //當轉換成功為就為s的值,不再是-2147483648
    }
    return initValue;
  }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.