关于int.Parse()的异常

一、int.Parse(string 变量名)

该方式是将数字内容的字符串转换为int类型

1.如果字符串的内容为Null ,则抛出ArgumentNullException异常;

2.如果字符串内容不是数字,则抛出FormatException异常;

3.使用该方法只能处理字符串的内容,而且转换后的字符串内容要在int类型的可表示范围之内,若超出,则抛出OverflowException异常。

二、在网上搜索相关内容,Convert.ToInt32()、int.Parse()、int.TryParse()、(int)这些函数都可以将其他类型转化为int型

1.Convert.ToInt32()与int.Parse()的区别:

(1)这两个方法的最大不同是它们对NULL值的处理方法:

Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会产生异常。

(2)当参数是浮点数时:

a. Convert.ToInt32(double value)
       如果 value 为两个整数中间的数字,则返回二者中的偶数;即 3.5转换为4,4.5 转换为 4,而 5.5 转换为 6。  不过4.6可以转换为5,4.4转换为4
   b. int.Parse("4.5") 
       直接报错:"输入字符串的格式不正确"

(3)转换对象不同:

a.int.Parse是转换String为int
   b.Convert.ToInt32是转换继承自Object的对象为int的

当你得到一个object对象,你想把它转换为int,用int.Parse就不可以,要用Convert.ToInt32.

2.int.TryParse()与int.Parse():

int.TryParse()与 int.Parse() 又较为类似,但它不会产生异常,转换成功返回 true,转换失败返回 false。

最后一个参数为输出值,如果转换失败,输出值为 0,如果转换成功,输出值为转换后的int值

3.关于(int):

(int)是一种类型转换;当我们把int类型转换到long,float,double,decimal类型,可以使用隐式转换,但是当我们从long类型到int类型就需要使用显式转换,否则会产生      编译错误。

三、这是网上找到的代码,可作为以后的联系素材:

class Program
{
    static void Main(string[] args)
    {
        string str = "1,2,3,4,5,";
        Console.WriteLine(str.Substring(0, str.Length - 1));

        int nums = 0;
        string num = null;
        Int32.TryParse(num, out nums);
        Console.WriteLine(nums);

        /*
        int nums = 0;
        string num = "12345";
        Int32.TryParse(num, out nums);
        Console.WriteLine(nums);
         */

        nums = Convert.ToInt32(num);

        nums = int.Parse(num);
    }

好啦~下周见~

时间: 2024-12-19 03:23:20

关于int.Parse()的异常的相关文章

int.Parse()及其异常判断

1.int.Parse()是一种类容转换,表示数字内容的字符串转为int类型. 如果字符串为空,则抛出ArgumentNullException异常: 如果字符串内容不是数字,则抛出FormatException异常: 如果字符串内容所表示数字超出int类型可表示的范围,则抛出OverflowException异常: 2.除了int.Parse(),C#中海油其他函数能将类型转换为int型.如Convert.ToInt32().int.TryParse().(int)等函数. int.TryPa

int.Parse()容易出现的异常及解决办法

对于转化string s try{ int year = int.Parse(s);} 异常 条件 ArgumentNullException s 为 null 引用(在 Visual Basic 中为 Nothing) FormatException  s 的格式不正确 OverflowException  s 表示小于 MinValue 或大于 MaxValue 的数字 那么如何处理异常呢?只需在下面加入下面的函数: catch (Exception){ system.out.println

int.Parse 异常分析报告

在本次博客中,主要围绕int.Parse的异常进行说明. 在c#中使用int.Parse将其他类型转换成int型时,运行程序是经常抛出以下三种异常类型: 1,System.ArgumentNullException  转换对象为null 2,System.FormatException 格式不正确 3,System.OverflowException 转换对象溢出 对于System.ArgumentNullException这种情况而言,int.Parse在判断转换对象为null时,其不能转换出

当当当当 int.Parse()异常~

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { string inputNum; int num; Console.WriteLine("Please

int Parse方法引发的异常

今天,我们来介绍一下Parse方法引发的异常. 一.Parse方法(String): 首先,我们先来介绍一下这个Parse方法的主要作用,即将数字的字符串表示形式转换为它的等效 32 位有符号整数.在C++中,它的具体语法如下: public: static int Parse( String^ s ) 其中,参数是s,类型是String,包含要转换的数字的字符串.返回值是int,与 s 中包含的数字等效的 32 位有符号整数. Parse方法主要有三个异常: 1)System.Argument

Int.Parse与ConvertToInt的区别

最近在公司做一个项目的时候,在某次 跟组长讨论的时候.对一个简单的线发生了一些讨论.感觉挺有收获的.现在来总结一下. 在代码开发的时候,底层代码,不要写try-catch.因为写异常处理之后,代码的执行效率会大大的降低.底层的代码,不写异常,但是要经过严格的测试,确保正确.而对于界面层来说,必须接收异常.程序崩溃是非常不友好的.而且也降低了用户对你程序的信任. 对几个小问题的整理: 1.try-catch是否影响效率 自己简单测试了一下,感觉不到效率有什么变化. 然后查找一系列相关博客.发现了一

关于 int.parse("abcd") 出错的问题分析及解决方案

问题分析: 首先,int.Parse()是一种类容转换,表示将数字内容的字符串转为int类型.该函数要求被操作的字符串由数字组成,因此存在三种可能的输入异常情况: 1. 如果字符串为空,则抛出ArgumentNullException异常: 2. 如果字符串内容不是数字,则抛出FormatException异常: 3. 如果字符串内容所表示数字超出int类型可表示的范围,则抛出OverflowException异常: 所以 int.parse("abcd") 出错原因在于字符串的内容不

C#整数三种强制类型转换int、Convert.ToInt32()、int.Parse()的区别

1.int适合简单数据类型之间的转换,C#的默认整型是int32(不支持bool型); 2.int.Parse(string sParameter)是个构造函数,参数类型只支持string类型; 3.Convert.ToInt32()适合将Object类型转换为int型; 4.Convert.ToInt32()和int.Parse()的细微差别: 对于空值(null)的处理不 同,Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则 会产生异常

Convert.ToInt32、(int)和int.Parse三者的区别

前者适合将object类类型转换成int类型,如Convert.ToInt32(session["shuzi"]); (int)适合简单数据类型之间的转换: int.Parse适合将string类类型转换成int类型,如int.Parse(session["shuzi"].ToString()). (1)这两个方法的最大不同是它们对null值的处理方法:    Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会