2015-07-21 23 views
0

我有一個數據表的一列十進制值。 我應該將它綁定到一個下拉列表,其中下拉列表應該以百分比的形式顯示該十進制值的值,但不包含「%」符號。我在C#中嘗試了以下代碼。我有一個數據表,其中我有一個十進制值的列

DropDownList1.DataTextFormatString = "{0:0%}"; 

0.981,顯示在下拉列表98%,我應該怎麼寫,以避免%符號,使得只有98將得到顯示。

+1

你試圖從你的綁定表達式刪除%? 'DropDownList1.DataTextFormatString =「{0:0}」;' –

+0

爲什麼不簡單地使用小數值的「{0:D}」? –

+0

@MohammedElSayed這可能會收集'0.981'並生成'1' –

回答

1

The "%" custom specifier將您的價值乘以100倍,並使用您的CurrentCulturePercentSymbol。這意味着您的CurrentCulture%作爲PercentSymbol,並且此自定義speficier必須使用它。

作爲一個解決方案,你可以CloneCurrentCulture,並設置PercentSymbol空字符串,您可以使用該文化爲您Thread.CurrentThread.CurrentCultureThread.CurrentThread.CurrentUICulture性能。

var clone = (CultureInfo)CultureInfo.InvariantCulture.Clone(); 
clone.NumberFormat.PercentSymbol = ""; 
Thread.CurrentThread.CurrentCulture = clone; 
Thread.CurrentThread.CurrentUICulture = clone; 

現在當你這樣做DropDownList1.DataTextFormatString = "{0:0%}";,你會得到9898%

+0

非常感謝。這對我有用。 –

+0

@HariPrakash很高興幫助。 –

相關問題