C# 如何在c中使用mschart以百分比格式显示数据点#

C# 如何在c中使用mschart以百分比格式显示数据点#,c#,mschart,C#,Mschart,我一直试图在ms图表中以这种格式显示数据点的百分比00.00%。我不知道该怎么做 我用这个做我的系列标签 chart1.Series[1].Label = "#PERCENT"; 结果在图表上是这样的,数值显示不正确 数据来自数据表,这就是我填充图表的方式 //Chart data points foreach(DataRow r in dt.Rows) { object wk = (r

我一直试图在ms图表中以这种格式显示数据点的百分比00.00%。我不知道该怎么做

我用这个做我的系列标签

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}”

实际上,您可能需要定制

我认为默认情况下它只显示一个数字(在点之前)

e、 g


您必须重写它并加上一个额外的零。我决定将fpy转换为十进制,并删除所有的小数点。现在,我的折线图数据点上显示了正确的值。谢谢大家的帮助!:)


那么您想要一个前导的
0
?例如
04.21%
。请澄清“不正确”我编辑了我的问题
double value = .086;
Console.WriteLine(value.ToString("#0.##%", CultureInfo.InvariantCulture));
Console.WriteLine(String.Format(CultureInfo.InvariantCulture, 
                                "{0:#0.##%}", value));
// Displays 8.6%  
decimal fpy = Convert.ToDecimal(string.Format("{0:F0}", ((r["fpy"])))); // First pass yield percentage