本地化我有一个程序,有时在使用逗号作为小数点分隔符的语言环境中使用。它很好地处理了C#如何处理所有这些(对用户界面很好),但是当我导出到一个文件时,我需要始终使用“。”,而不是区域设置特定的数字。目前,我做的:避免将格式化数字写入文件
的String.Format( “{0:0 ####},{1:0 ####}”,X,Y)
问题是,在某些语言环境,最终使用逗号而不是句点。问题是,是否有格式代码表示“总是使用句点”,或者是唯一的解决方案,以弄乱一个人的语言环境?
本地化我有一个程序,有时在使用逗号作为小数点分隔符的语言环境中使用。它很好地处理了C#如何处理所有这些(对用户界面很好),但是当我导出到一个文件时,我需要始终使用“。”,而不是区域设置特定的数字。目前,我做的:避免将格式化数字写入文件
的String.Format( “{0:0 ####},{1:0 ####}”,X,Y)
问题是,在某些语言环境,最终使用逗号而不是句点。问题是,是否有格式代码表示“总是使用句点”,或者是唯一的解决方案,以弄乱一个人的语言环境?
只需使用:
String.Format(CultureInfo.InvariantCulture, "{0:0.####},{1:0.####}", x, y)
我建议你尝试的FxCop(或VS2005 +的团队变种的代码分析功能)。 它产生了很多噪音(误报),但确实提供了很多好的做法。
包括:始终使用需要一个IFormatProvider
参数(如果有)过载 - 通常你会使用CultureInfo.CurrentCulture
为用户格式化输出,并CultureInfo.InvariantCulture
在文件中存储数据,注册表等