我认为这应该是一个非常容易回答的问题,但我似乎无法弄明白。 我将文本添加到c#中sqldatasource的标签中。所有这些都有效,但我希望能够格式化文本。我想1)能够将格式更改为0.00(而不是一串小数),我也希望能够在文本之前添加单词。我假设我需要以某种方式使用string.format命令,但无法弄清楚如何使用它。任何帮助将不胜感激。这是我的代码:
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();
}
答案 0 :(得分:3)
您可以将format参数传递给ToString()
方法,如下所示:
MarginLabel.Text = drvSql["margin"].ToString("0.00");
但是,正如你所说,你想要预先添加一些文字。因此,我建议:
MarginLabel.Text = String.Format("Prepended text {0:0.00}", drvSql["margin"]);
注意:我刚选了你的一个标签;我不确定哪些人会得到特殊的格式化处理。
答案 1 :(得分:0)
使用
string.Format("This is a before text {"0"},your param)
//您可以根据需要添加任意数量的变量和{""}
字符串文字,只需确保使用","
答案 2 :(得分:0)
这是代码
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
答案 3 :(得分:-1)
String.Format()
将执行前置/附加文本值所需的内容,
string.Format("prepend text {"0"} append text", paramString)
但是如果你想要实际格式化你从SQL返回的值,那么你需要在该值上使用String.Format()
以及可能使用一些RegEx表达式和/或.ToUpperCase
或{ {1}}为你的大写......就像。
.ToLowercase