你能改变double.parse的行为吗?

时间:2014-07-07 08:09:11

标签: c#

我在项目中使用了double.parse,现在发现了其他用户遇到问题的问题。

我应该使用:

double.parse(string, CultureInfo.InvariantCulture);

随处可见。

我可以更改double.parse的行为,还是我真的需要转到代码中的所有位置并手动执行此操作?

2 个答案:

答案 0 :(得分:5)

不,你不能覆盖静态方法。

您必须手动重构代码才能使用double.Parse的正确重载。

答案 1 :(得分:3)

可以使用

覆盖整个应用程序的文化
Application.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture;

在应用程序的主要方法中。

因此,所有double.Parse(string)现在都等于double.Parse(string, CultureInfo.InvariantCulture),因为它在内部使用invariant culture

但要注意,它会改变使用格式化的一切 这意味着,double.ToString()也使用了不变文化 如果这是一个问题,那么你必须更换double.Parse(string)的每一次出现 按double.Parse(string, CultureInfo.InvariantCulture)