发布时间: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() 方法。