C# winforms饼图中百分比总和超过100%
在具有以下数据点的Winforms饼图中,百分比总和超过100%C# winforms饼图中百分比总和超过100%,c#,winforms,pie-chart,C#,Winforms,Pie Chart,在具有以下数据点的Winforms饼图中,百分比总和超过100% series.Label = "#PERCENT{P0}" series.Points.AddXY("", 3); // X=0 ,Y =3 series.Points.AddXY("", 21); // X=0 ,Y =21 我想,这可能是一个取整问题,有什么解决办法吗?提前感谢。您的系列包含{3,21},总共24个。3/24=12.5%(在您的情况下为13%)和21/24=87.5%(在您的情况下为8
series.Label = "#PERCENT{P0}"
series.Points.AddXY("", 3); // X=0 ,Y =3
series.Points.AddXY("", 21); // X=0 ,Y =21
我想,这可能是一个取整问题,有什么解决办法吗?提前感谢。您的系列包含{3,21},总共24个。3/24=12.5%(在您的情况下为13%)和21/24=87.5%(在您的情况下为88%),因为您的#PERCENT{P0}格式不表示小数点 显示的系列值向上舍入为最接近的整数 将标签格式更改为:
series.Label = "#PERCENT{P0}"
…致:
series.Label = "#PERCENT"
我想说是四舍五入的问题。3->12.5%=13%和21->87.5%=88%。你试过在整数值后面加一个小数点吗。我想如果不是的话,它会进行整数除法和取整。所以用3.0替换3,用21.0替换21?我也试过了,但问题仍然相同,显示87.50%和12.50%。但是我必须像excel图表一样显示88和12,它总是显示88%和12%的值。@C-va也许你可以在你的应用程序中运行一个快速的计算,将序列总计为
int
s,然后float
s,如果有差异,在填充图表之前向下舍入一个值。