c#在运行时传入数据格式化字符串

时间:2011-10-10 06:33:28

标签: c# asp.net string-formatting

我希望能够在运行时传入格式字符串并将其应用于标称数据值。

例如,传入的格式字符串可能看起来像标准的c#格式类型:

{0:c},{0:d},#,###,###

我希望能够接受字符串值并在运行时应用格式。一些伪代码

private string FormatAtRunTime(formatstring)
{
   string formattedOutput = "";
   decimal datavalue = 2.4600;

   datavalue.ToString(formatstring);   ??????

   return formattedOutput;
}

1 个答案:

答案 0 :(得分:2)

我想你只是想:

string formattedOutput = string.Format(formatstring, datavalue);

第一个参数不是字符串文字(大多数调用Format可能是)这一事实无关紧要。

请注意,如果datavalue.ToString(formatstring)单个格式说明符,则调用formatstring即可。 “c”或甚至“0.000” - 但它不能像您的示例所示的复合格式字符串。为此,您需要string.Format