我正在寻找一种一致的方法来构建我在大型Web应用程序中使用格式化字符串,我正在寻找建议或最佳实践.
到目前为止,我已经有了一个静态类,可以进行一些常见的格式化,例如
Formatting.FormatCurrency
Formatting.FormatBookingReference
我不相信这是可行的方法,我更喜欢直接使用.NET中格式化字符串的标准方法并使用:
amount.ToString( "C")
reference.ToString( "000000")
Id对我们的一些更复杂的数据结构使用IFormattable和ICustomFormatter,但我正在努力解决我们需要格式化的更简单的现有对象(在本例中为Int32但也包括DateTime).
我只是为"c"和"000000"定义常量,并在整个Web应用程序中一致地使用它们,还是有更标准的方法来实现它?
一种选择是使用带有扩展方法的助手类
public static class MyWebAppExtensions { public static string FormatCurrency(this decimal d) { return d.ToString("c"); } }
然后,只要你有一个十进制值
Decimal d = 100.25; string s = d.FormatCurrency();
我同意GeekyMonkey的建议,但有一处改动:
格式化是一个实现细节.我建议ToCurrencyString
继续遵守To*惯例及其意图.