您的位置:首页 > 编程语言 > C#

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

2017-03-05 14:11 399 查看

前提

    前几天系统出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

总结

             最近真是发现基础差很多,留下的坑,慢慢补救。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: