我有一些整數值(1到100之間),我想在具有DisplayFormatString屬性的進度條中使用它們。顯示格式字符串,int到百分比
我也想在輸出字符串中使用百分號'%'。
問題是,通過使用該符號,它會自動將我的值與100相乘,並且當我需要它們33%時,它會顯示3300%的值。我該如何克服這一點?
DisplayFormatString="0%"
我有一些整數值(1到100之間),我想在具有DisplayFormatString屬性的進度條中使用它們。顯示格式字符串,int到百分比
我也想在輸出字符串中使用百分號'%'。
問題是,通過使用該符號,它會自動將我的值與100相乘,並且當我需要它們33%時,它會顯示3300%的值。我該如何克服這一點?
DisplayFormatString="0%"
嘗試使用0'%'
作爲DisplayFormatString
(單引號中的百分比),這應該有助於實現將百分號附加到您的號碼。所以你得到33%
。你可以試試,也許
一件事是0\\%
(不知道是否會工作或沒有),但應該制定出相同的33%
,你的願望。
的ProgressBar
假定您的輸入將是0和1之間。當你設置DisplayFormatString
到"P"
,這將顯示爲百分比。
問題在於您的百分比表示。通常百分比是從0到1的小數,其中1是100%,0是0%。所以,如果你想使用標準string.Format
,你必須將你的變量除以100.0(所以你的int 33變成小數點0.33)。 事情是這樣的:
int progress = 33;
string.Format("{0:F}", progress/100.0);
如果你不想使用該解決方案,你可以檢查出MSDN section找到適合您的需要的格式。
根據the documentation格式化百分比時,標準.NET字符串格式設置方法將乘以100。看起來你必須將你的輸入除以100,或者改變最初的計算方式。
我有一個類似的問題與數據註釋工作時,我發現它工作時,我在大括號包裹0:DataFormatString = "{0}%"
顯示你的代碼,我們將拭目以待。 – 2012-02-22 09:09:26
完成,更新了我的問題。 – 2012-02-22 09:10:48
輸入來自外部來源。另外,我不用代碼工作,而是用ASP。 – 2012-02-22 09:12:00