C#类型转换的几种方式

C#类型转换的几种方式

1.(int)变量

该转换方式主要用于数字类型之间的转换,从int类型向long,float,double,decimal 类型转换可以使用隐式转换,但从long型到int 就需要使用显示转换,即使用该类型的转换方式否则产生编译错误。

该方式对于浮点数会无条件的舍去,会失去精确度。

对于char类型的到int类型的转换,传回的值是ASCII码。

代码示例:

 float a = 2.2f;
 int b = (int)a;
 Console.WriteLine(b);//结果:2
 Console.ReadKey();

2.int.Parse(变量)

public static Int32 Parse(string s);

该方式是将数字内容的字符串转换为int类型,如果字符串的内容为Null ,则抛出ArgumentNullException异常;如果字符串内容不是数字,则抛出FormatException异常。

使用该方法只能处理字符串的内容,而且转换后的字符串内容要在int类型的可表示范围之内。

代码示例:

            string str = "100";
            int str1 = int.Parse(str);
            Console.WriteLine(str1);//结果:100
            Console.ReadKey();

3.int.TryParse(变量 s, out int result)
public static bool TryParse(string s, out Int32 result);
参数:s 包含要转换的数字的字符串。
返回结果:
如果 true 成功转换,则为 s;否则为 false。

当此方法返回时,如果转换成功,则包含与 s 中所包含的数字等效的 32 位无符号整数值;如果转换失败,则包含零。 如果 s 参数为 null 或 System.String.Empty、格式不正确,或者表示的数字小于System.Int32.MinValue 或大于 System.Int32.MaxValue,则转换失败。 此参数未经初始化即进行传递;最初在 result 中提供的任何值都会被覆盖。

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

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

该方式也是将数字内容的字符串转换为int类型,但是该方式有比int.Parse 优越的地方,就是它不会出现异常,最后一个参数result是输出值,如果转换成功则输出相应的值,转换失败则输出0。

代码示例:

            string str = "100";
            int i;
            bool strbool = int.TryParse(str, out i);
            Console.WriteLine(i);//结果:100
            Console.WriteLine(strbool);//结果:True
            bool strbool1 = int.TryParse(null, out i);
            Console.WriteLine(i);//结果:0
            Console.WriteLine(strbool1);//结果:False
            Console.ReadKey();

4.Convert.ToInt32(变量)

该方式不仅可以将字符串类型转换为int,还可以将其他的类型转换为int。变量若为object或string类型,当其值为Nul时,会传回0,不会造成程序错误,但是若此string类型的值为string.Empty,转换成int时,程序仍会出错。

该方式对于float类型做四舍五入。

该方式同强制类型转换一样在处理char类型的时候,返回的都是ASCII码。

代码示例:

            string str = "100";
            int strInt= Convert.ToInt32(str);
            int strInt1 = Convert.ToInt32(null);
            Console.WriteLine(strInt);//结果:100
            Console.WriteLine(strInt1);//结果:0
            Console.ReadKey();
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值