zoukankan      html  css  js  c++  java
  • [原]如何把object解析为int,double,float?

        写这篇文章是因为我看到了Allen LeeHow 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;
      }

  • 相关阅读:
    个人报告04
    个人报告03
    构建之法阅读笔记07
    个人报告02
    第二次冲刺个人报告01
    第二阶段个人总结5
    第十三周学习进度情况
    第二阶段个人总结4(5.28)
    第二阶段个人总结3(5.27)
    课堂作业之找小水王
  • 原文地址:https://www.cnblogs.com/Kennytian/p/1031076.html
Copyright © 2011-2022 走看看