【C#拾遗】——字符串转为整型三种方法

本是古典 何须时尚 2022-07-08 14:58 477阅读 0赞

前提

  1. 前几天系统出bug,其实就是一个字符转的问题,不支持小数点的问题,带小数的字符串转整型怎么都不行!!!顺带手发现了本文中的三种不同方式。

方式一、强制转换

(Int)浮点数

执行结果按照截断,就是所说的向下取整

Demo

  1. int a = (int)3.6; 输出结果为3

方式二、四舍五入

Demo

  1. int b=Convert.toInt32(3.6); 输出结果为4

方式三、int.Parse

  1. Int c = int.Parse(“3.6”);报错,表示Parse只能将整数的字符串转换为整型

方式四、int.TryParse

  1. Int d = -1
  2. int.TryParse(“3.6”,out d); //不能转换成功,输出d为0;
  3. int.TryParse(“3”,out d);//转换成功,输出d为3;

注意int.TryParse的运行结果为布尔类型,即

  1. bool e = int.TryParse(“5”,out c);

如果运行结果正确,则返回为true;否则返回为false;

Convert. toInt32() VS int.Parse VS int.TryParse

如果转换内容为null

Convert.toInt32(null);不会抛出异常

Int.Parse(null);提示异常,显示输入字符串不符合格式。

Int.TryParse(null);提示异常,显示输入字符串不符合格式。

那么,当要转换的信息为一个字符而不是数字的时候又怎么样呢?

结果如下所示:

int a = (int)’a’; //结果为97,注意是字符,而不是字符串(如果是字符串,编译不能通过)

int b = Convert.ToInt32(“a”); //报异常

int c=int.Parse(“a”); //报异常

int d = -1;

int.TryParse(“a”, out d); //结果为0

总结

  1. 最近真是发现基础差很多,留下的坑,慢慢补救。

发表评论

表情:
评论列表 (有 0 条评论,477人围观)

还没有评论,来说两句吧...

相关阅读