0
点赞
收藏
分享

微信扫一扫

【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

总结

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

举报

相关推荐

0 条评论