我希望能够在运行时传入格式字符串并将其应用于标称数据值。
例如,传入的格式字符串可能看起来像标准的c#格式类型:{0:c},{0:d},#,###,###
我希望能够接受字符串值并在运行时应用格式。一些伪代码
private string FormatAtRunTime(formatstring)
{
string formattedOutput = "";
decimal datavalue = 2.4600;
datavalue.ToString(formatstring); ??????
return formattedOutput;
}
答案 0 :(得分:2)
我想你只是想:
string formattedOutput = string.Format(formatstring, datavalue);
第一个参数不是字符串文字(大多数调用Format
可能是)这一事实无关紧要。
请注意,如果datavalue.ToString(formatstring)
是单个格式说明符,则调用formatstring
即可。 “c”或甚至“0.000” - 但它不能像您的示例所示的复合格式字符串。为此,您需要string.Format
。