Delphi Teechart-添加/减去图形值会得到不需要的剩余值

Delphi Teechart-添加/减去图形值会得到不需要的剩余值,delphi,teechart,Delphi,Teechart,使用Steema TeeChart图形。特别是对象:TChart、TChartSeries、TBarSeries、TLineSeries 我的任务是动态组合图形,当用户选择其中一些图形时,它们的值根据XLabel值进行增减 这就是我在选择了几张图后得到的结果,然后取消选择它们,这将执行以下操作: 使用DefaultBar/LineSeries设置系列 将选定图形的值添加到DefaultBar/LineSeries 从DefaultBar/LineSeries中减去取消选择的图形的值 对于所有XL

使用Steema TeeChart图形。特别是对象:TChart、TChartSeries、TBarSeries、TLineSeries

我的任务是动态组合图形,当用户选择其中一些图形时,它们的值根据XLabel值进行增减

这就是我在选择了几张图后得到的结果,然后取消选择它们,这将执行以下操作:

使用DefaultBar/LineSeries设置系列 将选定图形的值添加到DefaultBar/LineSeries 从DefaultBar/LineSeries中减去取消选择的图形的值 对于所有XLabel,结果逻辑上必须为0

但我得到的是:

没有标记的相同图形

以下是一些值:

我是否可以保留实际值,而不是图形上表示的四舍五入值,这样减法后就不会有任何休息

我可以这样做来摆脱剩下的我知道价值会很大:

   //bad solution
   for Serie := 0 to Chart.SeriesCount - 1 do
     for YValue := 0 to Chart.Series[Serie].YValues.Count - 1 do
       if StrToFloat(FormatFloat('0.00', Chart.Series[Serie].YValue[YValue])) = 0 then
         Chart.Series[Serie].YValue[YValue] := 0;
但这并不是一个很好的解决方案——不可扩展

可能相关:


当我只选择一个图形并取消选择它时,所有的值都是0,当选择多个图形时会出现问题。如果x=y,则x-y=0,则会发生加法

。所以我猜你的x值不一样。但是,我不得不猜测你的代码和数据,因为它们都没有出现。你的问题肯定有解决办法,但我无法从现在的问题中看出问题所在。价值不会改变,它是圆的,changed@DavidHeffernan值是相同的,因为当我多次选择/取消选择“添加/减去图形”时,值仍然相同。我相信这是取整的问题。另一件事是,我所说的这些值并不重要,为什么要舍入呢?你没有显示任何代码?为什么不呢?你为什么对我们隐瞒细节?为什么我要猜?让我再一次非常清楚地说明这一点。如果x=y,那么x-y=0。如果你真的在做x-y,那么唯一可以得出的结论就是xy。但也许你没有做x-y。也许你在做:z:=x+y;t=z-x-y;你打算让我们摆脱痛苦,展示一些代码,这样我们就不用猜了?!除了已经说过的以外,我相信这与将数据临时存储在TLabel或TEdit中基本相同。我不敢相信TChart组件不会对您输入的值进行任何优化,比如舍入或截断到较小的类型等等。我会使用图表只是为了展示,而不是存储值。