• [原]如何把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;
      }

  • 相关阅读:
    Spring 中的重试机制,简单、实用!
    Docker 常用命令,还有谁不会?
    Java 对象不使用时为什么要赋值为 null?
    为什么 Nginx 比 Apache 更牛叉?
    你还在用命令看日志?快用 Kibana 吧,一张图片胜过千万行日志!
    golang如何体现面向对象思想
    golang 三⾊标记+GC混合写屏障机制
    Golang中逃逸现象-变量何时 栈何时堆
    golang调度器原理与GMP模型设计思想
    golang 程序内存分析方法
  • 原文地址:https://www.cnblogs.com/Kennytian/p/1031076.html
Copyright © 2020-2023  润新知