簡體   English   中英

如何在C#中使用Mschart以百分比格式顯示數據點

[英]How do you display data points in percentage format using mschart in c#

我一直試圖以00.00%的格式在ms圖表中顯示數據點的百分比。 我不知道如何。

我用這個做我的系列標簽

chart1.Series[1].Label = "#PERCENT";

結果在圖表上這樣顯示,值顯示不正確。

在此處輸入圖片說明

數據來自數據表,這就是我填充圖表的方式

 //Chart data points
                foreach(DataRow r in dt.Rows)
                {
                    object wk = (r["week_num"]).ToString();
                    object fpy = (r["fpy"]); // First pass yield percentage
                    object thrput = (r["throughput"]).ToString();

                    chart1.Series[0].Points.AddXY(wk, thrput);
                    chart1.Series[1].Points.AddXY(wk, fpy);
                }

我不確定如何正確設置折線圖中數據點的格式,以顯示正確的值和百分比格式。

有什么建議么?

編輯:

如果我刪除這一行

chart1.Series[1].Label = "#PERCENT";

值正確,但不是百分比格式

在此處輸入圖片說明

您將必須格式化標簽樣式

嘗試一下chart.ChartAreas.AxisX.LabelStyle.Format = "{00:00}"

實際上,您可能必須自定義百分比說明符

我認為默認情況下它設置為僅顯示一個數字(在該點之前)

例如

double value = .086;
Console.WriteLine(value.ToString("#0.##%", CultureInfo.InvariantCulture));
Console.WriteLine(String.Format(CultureInfo.InvariantCulture, 
                                "{0:#0.##%}", value));
// Displays 8.6%  

您將不得不覆蓋它並添加一個額外的零

我決定將fpy轉換為小數並刪除所有小數點。 現在,我在折線圖數據點上顯示了正確的值。 謝謝大家的幫助! :)

decimal fpy = Convert.ToDecimal(string.Format("{0:F0}", ((r["fpy"])))); // First pass yield percentage

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM