2011-12-20 44 views
0

我想在應用程序的狀態欄中顯示CPU使用情況。爲了顯示它我使用下面的代碼:string.Format解決方法:使用相同標籤中的文本和浮點數

statusLabelCpu.Text = string.Format("CPU Load: {0:000.00}%", _cpuLoad.NextValue()); 

有相當上面代碼中的大問題,它總是顯示5個號碼,也就是說,如果負載點頭100%,這表明像050.21%這是太醜陋!

我真的不想使用2個標籤。是否有可能使這個固定的寬度只顯示實際的數字?如:(以這些破折號來表示空白空間!)

CPU Load:-0%  - 
CPU Load:-1.1% - 
CPU Load:-8.01% - 
CPU Load:-99.99% - 
CPU Load:-100% - 
CPU Load:-56.06% - 

注意:我在狀態欄中有2個標籤。這個CPU計數器正確。左邊的那個將SPRING屬性設置爲true!如果它與我的問題有任何關係!

回答

4

當它是確定用空格填充它的左側,你可以使用這個:

string.Format("CPU Load: {0,8:0.##}%", load) 

當你想墊到右側,你必須這樣做,這樣一來因爲...

"CPU Load: " + string.Format("{0:0.##}%", load).PadRight(8) 

第一結果

[CPU Load:  20,1%] 
:數之後百分比字符的

[CPU Load: 20,1% ] 
0
statusLabelCpu.Text = string.Format("CPU Load: {0:0.00}%", _cpuLoad.NextValue()); 
+0

更新到問題 – 2011-12-20 10:16:49

+0

後不再有效如果這個dos不起作用,它會導致'CPU Load:'在負載變大時跳到左邊。當負載爲0時,我想顯示'CPU負載:0%'不是0.00% – 2011-12-20 10:18:11

+0

您必須根據情況使用不同的格式字符串。 – 2011-12-20 10:22:57

0
String.Format("CPU Load: {0,-7:0.##}%", _cpuLoad.NextValue); 

第二結果,是對齊-7是墊對齊7左側的長度。 #是打印數字,如果存在。

+0

填充將在數字和%符號之間。 – Ray 2011-12-20 11:05:49

+0

好點,沒有看到,開發人員測試再次騎。看起來像@nemesv已經解決了下面。 – 2011-12-20 14:30:20

相關問題