我有一个程序,有时会在使用逗号作为小数分隔符的语言环境中使用。它很好C#处理所有这些(对UI有利),但是当我导出到文件时,我需要始终使用“。”,而不是特定于语言环境的数字。目前,我这样做:
String.Format(“{0:0。####},{1:0。####}”,x,y)
问题是在某些语言环境中,最终会使用逗号而不是句点。问题是,是否有一个格式代码说“总是使用期限”,或者是解决一个人的语言环境的唯一解决方案?
答案 0 :(得分:7)
只需使用:
String.Format(CultureInfo.InvariantCulture, "{0:0.####},{1:0.####}", x, y)
答案 1 :(得分:1)
我建议您尝试使用FxCop(或VS2005 +团队变体的代码分析功能)。 它会产生很多噪音(误报),但确实提供了很多好的练习。
包括:总是使用带有IFormatProvider
参数的重载(如果有) - 通常您将使用CultureInfo.CurrentCulture
来格式化用户的输出,并CultureInfo.InvariantCulture
用于将数据存储在文件中,注册表等。