更新:2007 年 11 月

这些示例演示了一些用于将 string 转换为 int 的不同方法。例如,当从命令行参数获取数值输入时,此类转换会很有用。还存在一些将字符串转换为其他数值类型(如 floatlong)的类似方法。下表列出了其中的一些方法。

数值类型

方法

decimal

ToDecimal(String)

float

ToSingle(String)

double

ToDouble(String)

short

ToInt16(String)

long

ToInt64(String)

ushort

ToUInt16(String)

uint

ToUInt32(String)

ulong

ToUInt64(String)

示例

此示例调用 ToInt32(String) 方法以将字符串“29”转换为 int,然后将结果增加 1 并打印输出。

C# 复制代码
int numVal = Convert.ToInt32("29");
numVal++;

Console.WriteLine(numVal);
// Output: 30

string 转换为 int 的另一种方法是使用 System..::.Int32 结构的 ParseTryParse 方法。ToUInt32 方法在内部使用 Parse。如果字符串的格式无效,则 Parse 会引发一个异常;而 TryParse 不会引发异常,而是返回 false。下面的示例演示了对 ParseTryParse 的成功调用和不成功的调用。

C# 复制代码
int numVal = Int32.Parse("-105");
Console.WriteLine(numVal);
// Output: -105

C# 复制代码
int j;
Int32.TryParse("-105", out j);
Console.WriteLine(j);
// Output: -105

C# 复制代码
try
{
    int m = Int32.Parse("abc");
}
catch (FormatException e)
{
    Console.WriteLine(e.Message);
}
// Output: Input string was not in a correct format.

C# 复制代码
string inputString = "abc";
int numValue;
bool parsed = Int32.TryParse(inputString, out numValue);

if (!parsed)
    Console.WriteLine("Int32.TryParse could not parse '{0}' to an int.\n", inputString);

// Output: Int32.TryParse could not parse 'abc' to an int.

请参见