C# で次の表示マスクを double に適用して、書式設定された文字列を生成できるようにしたいと考えています。
たとえば、次の表示マスクが必要です。
- 0;(0) は 126524 のような形式を生成します
- 0,.00;(0,.00) は 183.94 を返します
- 総支出: €0,.00;(0,.00) -> "総支出 €12.34"
- 0 日 -> 「0 日」
表示マスクはユーザーによって入力されるため、本質的に幅が広くなる可能性があります。テキストを含めることもできます。DevExpress AspxGridView を使用して同様のことができました。列には、使用できる DisplayFormatString があります。
たとえば、ユーザーが入力する FormatString (たとえば、"Total Spend: €0,.00;(0,.00)") という名前の変数があり、次のようなグリッド列に割り当てることができます。
columnDisplayFormatString = FormatString
Web サービスで同様のことを行う必要があるため、サードパーティの UI コンポーネントを使用できません。
いつでもフォーマット文字列を解析し、String.Format に必要なパラメーターを導出できることはわかっていますが、これは非常に面倒になる可能性があります。