格式化数据的显示与存储

数字、日期和时间等数据可以通过使用 String.Format(IFormatProvider, String, Object>)(它将 CultureInfo 对象作为参数)等方法,为特定区域性设置适当的格式。 虽然您可以使用与当前线程关联的隐式区域性设置数据的格式,但是如果您显式指定一个区域性,将可以获得更可预知的结果。

当您决定是为用户界面的显示,还是为在内存或文件中的存储设置数据的格式时,应当考虑以下三条原则:

  • 使用固定区域性设置要存储的数据的格式,使用用户指定的区域性重新设置要显示的数据的格式。

    使用固定区域性将数据存储到文件或内存中,或通过通信链路传输数据。 这是因为固定区域性产生的数据具有一致的格式,可以与其他应用程序进行比较、操作和交换。 如果不同数据用不同的区域性设置格式,诸如排序这样的操作将可能无法进行。

    如果需要显示存储的数据,请使用用户指定的区域性重新设置要显示的数据的格式。

  • 用于数据显示的区域性的属性可以与其标准值不同。

    虽然用户可能为数据显示指定了特定的区域性,但是该区域性的用户界面属性可能与您期望的标准值不同。 如果用户指定的自定义区域性包含具有非标准值的用户界面属性,或者用户通过“控制面板”中的“区域和语言选项”重写了当前区域性的某些用户界面属性,则可能出现这种情况。

  • 控制数据显示格式的国际标准可以随着时间的发展而变化。

    .NET Framework 中的区域性遵守确定日期、时间、货币等格式的国际标准。 然而,国际标准不是一成不变的,格式可能发生变化。 例如,如果掌管某个国家/地区的当地政府颁布一种新格式,就可能发生更改。 因此,如果一种数据显示格式发生更改,您可能需要更新您的应用程序,以使用修改后的区域性信息。

请参见

参考

CultureInfo