C# Convert.ToInt32方法: 将指定的值转换为32位有符号整数

发布时间:2026-09-28 17:29:18 浏览次数:1

Convert.ToInt32() 是 C# 中将其他数据类型(如 string)转换为 int 类型的方法。它可以将一个对象转换为 32 位带符号整数。如果无法执行转换,则会引发异常。

方法原型

方法原型如下:

public static int ToInt32(object value);public static int ToInt32(string value);

使用方法

Convert.ToInt32(object value)的参数是任何 object 类型的对象,该方法会自动识别传递的对象类型,并将其转换为 int 类型的值。

Convert.ToInt32(string value)的参数是一个 string 类型的字符串,该方法将字符串转换为 int 类型的值。

示例:

int a = Convert.ToInt32("123"); // 输出 123

如果我们输入一个非数字的字符串,比如:

int b = Convert.ToInt32("abc");

则会抛出异常:

System.FormatException:“输入的字符串格式不正确。”

因此,在使用 Convert.ToInt32() 方法时,需要确保传入的数据类型可以被正确转换为 int 类型的整数。

案例一

以下代码演示了如何将用户从控制台输入的字符串(类型是 string)转换为 int 类型。

while (true) {    Console.Write("请输入一个数字:");    string input = Console.ReadLine();    try {        int num = Convert.ToInt32(input); // 尝试将字符串 input 转换为 int 类型        Console.WriteLine("您输入的数字是:" + num);        break;    } catch (FormatException e) {        Console.WriteLine("输入的字符串格式不正确,请重新输入!");    }}

上面的代码中,我们使用了 try...catch 语句来捕获 FormatExcpetion 异常,以防止用户输入的字符串无法被正确转换。

案例二

以下代码展示了如何将 object 类型的值转换为 int 类型。

object myObject = 123;int num = Convert.ToInt32(myObject);Console.WriteLine(num); // 输出 123

实际上,某些情况下,我们可以直接将变量类型声明为目标类型,从而避免使用 Convert.ToInt32()。

比如,下面的代码直接将 double 类型的变量转换为 int 类型:

double myDouble = 3.14;int num = (int) myDouble;Console.WriteLine(num); // 输出 3

然而,上述代码会发生精度丢失的问题,因为从 double 到 int 的转换会舍弃小数部分的值,例如 3.14 会被转换为 3。 如果需要四舍五入,可以使用 Math.Round() 方法,或者使用 Convert.ToInt32() 方法。

需要做网站?需要网络推广?欢迎咨询客户经理 13272073477