我使用High Charts
创建了一个圆环图,如下所示。我的问题是子集总计为100.1%。我不是rounding
,我的数字都是double
类型。有没有人知道我的数学可能出错的地方才能得到这个如此轻微的问题?
7.7 + 7.0 + 15.3 + 70.1 = 100.1
图表
答案 0 :(得分:4)
这只是由格式化程序完成舍入引起的。我们来看一下这个例子:http://jsfiddle.net/MkuMS/
总和是:74.5+14.1+10.3+1.2 = 100.1
现在,让我们从dataLabels.format
:http://jsfiddle.net/MkuMS/1/
总和是:74.50331125827813+14.072847682119205+10.264900662251655+1.1589403973509933 = 100
现在,这取决于您,或者您将显示舍入错误或标签中的完整信息(看起来很糟糕)或创建您自己的dataLabels.formatter
。
但您仍会遇到非舍入值的问题:http://jsfiddle.net/MkuMS/3/
总和是:33.3+33.3+33.3 = 99.9
答案 1 :(得分:0)
可能是因为double
类型。在某些情况下,它不够精确。请尝试使用BigDecimal
。