首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Convert.ToInt32会接受IFormatProvider?

为什么Convert.ToInt32会接受IFormatProvider?
EN

Stack Overflow用户
提问于 2016-12-20 19:46:21
回答 0查看 4.1K关注 0票数 2

对我来说,在Convert类中使用以下重载是有意义的

代码语言:javascript
复制
public static double ToDouble(string value, IFormatProvider provider);

示例:

代码语言:javascript
复制
Console.WriteLine(Convert.ToDouble("3223.2", CultureInfo.InvariantCulture)); // success
Console.WriteLine(Convert.ToDouble("3223,2", new CultureInfo("fr-FR"))); // success
Console.WriteLine(Convert.ToDouble("3223.2", new CultureInfo("fr-FR"))); // failure

但是使用下面的重载的例子是什么呢?

代码语言:javascript
复制
public static int ToInt32(string value, IFormatProvider provider);

以下所有操作均失败:

代码语言:javascript
复制
Console.WriteLine(Convert.ToInt32("3223.2", CultureInfo.InvariantCulture));
Console.WriteLine(Convert.ToInt32("3223,2", new CultureInfo("fr-FR")));
Console.WriteLine(Convert.ToInt32("3223.2", new CultureInfo("fr-FR")));

换句话说,有没有任何有效的整型字符串表示(在任何区域性中),如果不指定IFormatProvider就不能转换为整型?

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41241619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档