如何影响c#中动态创建的标签文本的格式
本文关键字:创建 动态 标签 格式 文本 何影响 影响 | 更新日期: 2023-09-27 18:18:04
我认为这应该是一个相当容易回答的问题,但我似乎不能弄清楚。我在c#中从sqldatasource向标签添加文本。所有这些都可以工作,但我希望能够格式化文本。我想1)能够将格式更改为0.00(而不是一串小数),我也希望能够在文本之前添加单词。我假设我需要以某种方式使用字符串。格式命令,但不知道如何工作。任何帮助都将非常感激。下面是我的代码:
DataView dvSql = (DataView)DeskSummary.Select(DataSourceSelectArguments.Empty);
foreach (DataRowView drvSql in dvSql)
{
Desk.Text = drvSql["Deskname"].ToString();
MarginLabel.Text = drvSql["margin"].ToString();
CurrentCI.Text = drvSql["comp_index_primarycomp"].ToString();
WalMartCurrentCI.Text = drvSql["comp_index_walmart"].ToString();
ForecastMargin.Text = drvSql["margin_forecast"].ToString();
WalMartForecastCI.Text = drvSql["comp_index_walmart_forecast"].ToString();
ForecastCI.Text = drvSql["comp_index_primarycomp_forecast"].ToString();
}
您可以将格式参数传递给ToString()
方法,如下所示:
MarginLabel.Text = drvSql["margin"].ToString("0.00");
但是,正如您所说,您想要添加一些文本。因此,我建议:
MarginLabel.Text = String.Format("Prepended text {0:0.00}", drvSql["margin"]);
注意:我只是选了你的一个标签;
使用
string.Format("This is a before text {"0"},your param)
//您可以添加任意多的变量和{""}
字符串字量,只要确保您使用","
代码
string stringNumber = "5123.34214513";
decimal decimalNumber = Decimal.Parse(stringNumber);
string output = String.Format("Your text: {0:0.00}", decimalNumber);
Console.WriteLine(output); //Your text: 5123.34
如果列的类型为string
String.Format()
将完成您需要的前置/追加文本值,
string.Format("prepend text {"0"} append text", paramString)
但是如果你想实际上格式化你从SQL中得到的值,那么你需要使用String.Format()
对该值以及可能一些RegEx表达式和/或.ToUpperCase
或.ToLowercase
为您的资本化…类似。
var capitalizedString = paramString.subStr(0,1).ToUppercase + paramString.subStr(1, paramstring.Length);
string.Format("Prepended text {"0"} plus appended text", capitalizedString);