2010-01-20 40 views
0

本地化我有一个程序,有时在使用逗号作为小数点分隔符的语言环境中使用。它很好地处理了C#如何处理所有这些(对用户界面很好),但是当我导出到一个文件时,我需要始终使用“。”,而不是区域设置特定的数字。目前,我做的:避免将格式化数字写入文件

的String.Format( “{0:0 ####},{1:0 ####}”,X,Y)

问题是,在某些语言环境,最终使用逗号而不是句点。问题是,是否有格式代码表示“总是使用句点”,或者是唯一的解决方案,以弄乱一个人的语言环境?

回答

7

只需使用:

String.Format(CultureInfo.InvariantCulture, "{0:0.####},{1:0.####}", x, y) 
1

我建议你尝试的FxCop(或VS2005 +的团队变种的代码分析功能)。 它产生了很多噪音(误报),但确实提供了很多好的做法。

包括:始终使用需要一个IFormatProvider参数(如果有)过载 - 通常你会使用CultureInfo.CurrentCulture为用户格式化输出,并CultureInfo.InvariantCulture在文件中存储数据,注册表等