2011-12-15 41 views
2

我認爲這應該是一個很容易回答的問題,但我似乎無法弄清楚。 我正在從c#中的sqldatasource標籤添加文本。所有這些工作,但我想能夠格式化文本。我想1)能夠將格式更改爲0.00(而不是一串小數),我還希望能夠在文本之前添加單詞。我想我需要以某種方式使用string.format命令,但無法弄清楚如何使用它。任何幫助將不勝感激。這裏是我下面的代碼:如何影響動態創建標籤文本的格式在c#

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(); 
} 

回答

3

您可以通過格式參數傳遞給ToString()方法,像這樣:

MarginLabel.Text = drvSql["margin"].ToString("0.00"); 

然而,正如你說你想在前面加上一些文字。因此,我建議:

MarginLabel.Text = String.Format("Prepended text {0:0.00}", drvSql["margin"]); 

注:我只是拿起您的標籤之一;我不確定哪些人會得到特殊的格式化處理。

+0

或者他也可以做​​的String.Format( 「藉口{0:### ###}」,Convert.ToInt32(inputString));如果數字是1000.00,那麼格式仍然可以彌補那個..只是好奇.. – MethodMan 2011-12-15 18:22:57

0

使用

string.Format("This is a before text {"0"},your param) 

//你可以根據你只需要確保你有一個","

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

-1

String.Format()會做你需要什麼預謀/追加文本值,

string.Format("prepend text {"0"} append text", paramString) 

但如果要真正地格式化你都可以從SQL回來的價值,那麼你就需要在該值使用String.Format()以及可能的一些正則表達式和/或.ToUpperCase.ToLowercase爲您的大小寫...類似。

var capitalizedString = paramString.subStr(0,1).ToUppercase + paramString.subStr(1, paramstring.Length); 
string.Format("Prepended text {"0"} plus appended text", capitalizedString); 
相關問題