【C#拾遗】——字符串转为整型三种方法
前提
前几天系统出bug,其实就是一个字符转的问题,不支持小数点的问题,带小数的字符串转整型怎么都不行!!!顺带手发现了本文中的三种不同方式。
方式一、强制转换
(Int)浮点数
执行结果按照截断,就是所说的向下取整
Demo
int a = (int)3.6; 输出结果为3;
方式二、四舍五入
Demo
int b=Convert.toInt32(3.6); 输出结果为4;
方式三、int.Parse
Int c = int.Parse(“3.6”);报错,表示Parse只能将整数的字符串转换为整型
方式四、int.TryParse
Int d = -1;
int.TryParse(“3.6”,out d); //不能转换成功,输出d为0;
int.TryParse(“3”,out d);//转换成功,输出d为3;
注意int.TryParse的运行结果为布尔类型,即
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
总结
最近真是发现基础差很多,留下的坑,慢慢补救。
还没有评论,来说两句吧...