如何将string/char类型的整数转换成int类型的整数(c#基础知识)

老师上课讲了几个常见的问题和解决方法,分享一下,有什么不对的地方还请大佬们指点!

  1. 如何从键盘接受一个整数?在这里插入图片描述!
    例如:
string attr=Console.ReadLine();
int number=int.Parse(attr);

或者

string attr=Console.ReadLine();
int number;
bool flag=int.TryParse(attr,out num);

大家应该还记得

Console.Read();

这个方法不?为什么不用这个方法呢?

  • 首先,Console.Read()这个方法只能读取键盘输入的一个字符;
  • 其次,存储时,存储的是这个字符的ASCII 值,所以要用int类型的变量存;
  • 再者,当输出时,输出的也是字符的ASCII值,而且此方法能接收任意键盘输入(包括回车符);
  • 以下是小例子:

//第一个Console.Read()方法
Console.WriteLine("The first one!");
 int  attr1 = Console.Read(); 
 Console.WriteLine(attr1);
 //第二个Console.Read()方法 
 Console.WriteLine("The second one!"); 
 int attr2 = Console.Read();
  Console.WriteLine(attr2);
     //Console.ReadLine()方法
     Console.WriteLine("Console.ReadLine()方法");
     string attr3 = Console.ReadLine();
     Console.WriteLine(attr3); 
     Console.ReadKey();

正常情况
这是怎么回事呀?(直接回车)
2.在这里插入图片描述
这里,大家肯定会想到Int.Parse()方法和Convert.ToInt32()方法。但,选用哪一个还要视情况而定。

  • 对于Int.Parse()方法,总共有4种重载形式,但,他的参数都是string类型,所以当数字为char类型时,不能用此方法。
  • 对于Convert.ToInt32()方法,他有多种重载形式,参数可以是string,也可以是char类型,还可以为double,decimal,等多种类型。
  • 直接用Convert.ToInt32()方法可以吗?肯定是不行的。当被转换的数字是单个字符(char)时,直接用此方法得到的是这个字符的ASCII值,当被转换的数字是string类型时,才能直接转换成对应的数值。

在这里插入图片描述

  • 在这里插入图片描述
  • 在这里插入图片描述

就这些,如果有什么错误,请大家帮忙指出。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在C#中,可以使用int.Parse()方法将string类型换为int类型。例如: string str = "123"; int num = int.Parse(str); 如果字符串无法换为int类型,则会抛出FormatException异常。为了避免这种情况,可以使用int.TryParse()方法,它会返回一个布尔值,指示换是否成功。例如: string str = "abc"; int num; bool success = int.TryParse(str, out num); if (success) { // 转换成功,可以使用num变量 } else { // 换失败,处理异常情况 } ### 回答2: 在C语言中,我们可以使用stdlib.h头文件中的atoi()函数将字符串类型换为整型。该函数的原型如下: ```c int atoi(const char *str); ``` 通过传递一个指向字符串的指针,我们可以将字符串换为对应的整数。该函数从字符串的开头开始解析,直到遇到非数字字符为止。如果字符串为空或不包含有效的数字,则返回0。 以下是一个使用atoi()函数将字符串换为整数的示例代码: ```c #include <stdio.h> #include <stdlib.h> int main() { char str[] = "12345"; int num = atoi(str); printf("换后的整数:%d\n", num); return 0; } ``` 运行以上代码,输出结果将是:"换后的整数:12345"。 需要注意的是,如果字符串中包含非数字字符,atoi()函数将在遇到第一个非数字字符后停止换,返回已经解析的数字部分。例如,对于字符串"123abc",atoi()函数将返回123。 另外,为了避免潜在的错误,请确保在使用atoi()函数之前对字符串进行验证,以确保它包含有效的数字。 ### 回答3: 在C语言中,将字符串类型换为整数类型可以使用库函数`atoi()`或者`sscanf()`。下面分别介绍如何使用这两个函数进行换。 1. 使用`atoi()`函数 ``` #include <stdio.h> #include <stdlib.h> int main() { char str[10] = "12345"; int num = atoi(str); printf("换后的整数为:%d\n", num); return 0; } ``` 输出结果: ``` 换后的整数为:12345 ``` 2. 使用`sscanf()`函数 ``` #include <stdio.h> int main() { char str[10] = "12345"; int num; sscanf(str, "%d", &num); printf("换后的整数为:%d\n", num); return 0; } ``` 输出结果: ``` 换后的整数为:12345 ``` 无论是使用`atoi()`函数还是`sscanf()`函数,都需保证字符串中只包含代表整数的字符,否则可能会出现异常情况。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值