📌  相关文章
📜  C#| Convert.ToInt32(String,IFormatProvider)方法(1)

📅  最后修改于: 2023-12-03 14:40:29.081000             🧑  作者: Mango

C# | Convert.ToInt32(String, IFormatProvider)方法

Convert.ToInt32(String, IFormatProvider)方法是一个将指定字符串转换为32位带符号整数的方法。它需要两个参数:第一个是需要被转换的字符串,第二个是一个实现System.IFormatProvider接口的对象,用于提供有关要转换的字符串的信息。如果IFormatProvider参数为null,则使用当前系统的区域设置信息来进行转换。

语法
public static int ToInt32(string value, IFormatProvider provider);
参数
  • value:需要被转换为32位带符号整数的字符串。
  • provider:一个实现了System.IFormatProvider接口的对象,用于提供有关要转换的字符串的信息。
返回值

如果转换成功,则返回一个等效的32位带符号整数;否则,返回默认值0。

异常
  • ArgumentNullException:参数valuenull
示例
// Convert.ToInt32(string)
string str = "1234";
int num1 = Convert.ToInt32(str);

// Convert.ToInt32(string, IFormatProvider)
string str2 = "1,234";
CultureInfo culture = new CultureInfo("en-US", false);
int num2 = Convert.ToInt32(str2, culture);

在上面的例子中,第一个示例使用了简单的Convert.ToInt32(string)方法来将字符串"1234"转换为整数1234。而第二个示例则使用了和Convert.ToInt32(string)方法之间的区别:第二个示例传递了一个CultureInfo对象作为第二个参数,用于指定字符串中的千位分隔符。由于当前系统的区域设置可能不支持这种语言特定的格式(如千位分隔符)而导致转换失败,因此需要显式指定一个文化信息对象。