Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# winforms饼图中百分比总和超过100%_C#_Winforms_Pie Chart - Fatal编程技术网

C# 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

在具有以下数据点的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%(在您的情况下为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,如果有差异,在填充图表之前向下舍入一个值。