📅  最后修改于: 2023-12-03 14:40:29.081000             🧑  作者: Mango
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
:参数value
为null
。// 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
对象作为第二个参数,用于指定字符串中的千位分隔符。由于当前系统的区域设置可能不支持这种语言特定的格式(如千位分隔符)而导致转换失败,因此需要显式指定一个文化信息对象。