zoukankan      html  css  js  c++  java
  • int.Parse()、int.TryParse()和Convert.ToInt32()的区别

    1:int.Parse(一个参数)  

         此参数必须满足:

        1 只能是字符串;

        2 只能是 “整型” 字符串,即各种整型ToString()之后的形式,也不能为浮点型。

    2:int.TryParse(参数a,参数b);

        此方法可以看做是int.Parse()方法的升级,即做了一个异常处理,如果出现异常则返回false,并且将输出参数返回0;

        注意,参数a, 非数字的字符串也是可以的,参数类型基本没有限制,

        例如:

    int b;
    int.TryParse("54.1",out b);
    Response.Write(b);    

    结果是:0

     

    int b;
    int.TryParse(null,out b);
    Response.Write(b);

    结果是:0

     

    int b=12;
    int.TryParse("fdfds",out b);
    Response.Write(b);

    结果是:0

     

    int b=12;
    int.TryParse("123456",out b);
    Response.Write(b);

    结果是:123456,不是12

     

    3:Convert.ToInt32(一个参数)

    此参数可以为多种类型,但这种字符串类型“dfadf”,“123.1”会报错,但是“123”整型字符串,是可以的

    int b= Convert.ToInt32(null);
    Response.Write(b);

    结果:0

    bool a = false;
    int b= Convert.ToInt32(a);
    Response.Write(b);

    结果:0

    int b= Convert.ToInt32(1253.1);
    Response.Write(b);

    结果:1253

    int b= Convert.ToInt32(1253.5);
    Response.Write(b);

    结果:1254

     

    4 (int)

        浮点型只有Convert.ToInt32()和(int)能进行转换,但是也是进行取舍了的,Convert.ToInt32()采取的取舍是进行四舍五入,而(int)则是截取浮点型的整数部分,忽略小数部分,

        例如Convert.ToInt32(1.4d)和(int)1.4d都返回1,Convert.ToInt32(1.5d)返回2,而(int)1.5d还是返回1;

     

    根据综上所述

    浮点型转为Int类型   用后面两个

    整型字符串转为Int类型  前面三个都可以

    但是如果不确定用户的输入类型,而且有可能用户输入的是非数字的话,用int.TryParse

     Request.QueryString[]的值如果转化成int的话,感觉用int.TryParse比较好

     

  • 相关阅读:
    java学习day02---Spring Boot综合运用---活动模块
    java学习day01---GC
    课程学习总结报告
    结合中断上下文切换和进程上下文切换分析Linux内核的一般执行过程
    深入理解系统调用
    基于mykernel 2.0编写一个操作系统内核
    超码 候选码 主码 替换码 数据库 定义
    如何评测软件工程知识技能水平?
    创新产品的需求分析:未来的图书会是什么样子?
    案例分析:设计模式与代码的结构特性(桥接模式)
  • 原文地址:https://www.cnblogs.com/enamorbreeze/p/5340624.html
Copyright © 2011-2022 走看看