2014-03-19 37 views
0

我使用High Charts創建了圓環圖,如下所示。我的問題是,這些子集合總計達到100.1%。我不是,我的號碼都是double s。有沒有人有一個想法,我的數學可能會出錯,以得到這個微不足道的問題?高圖圓環圖百分比增加到100.1%

7.7 + 7.0 + 15.3 + 70.1 = 100.1

圖表

enter image description here

+0

可否請你提供多一點的「周邊」的信息?更多的代碼? – sshashank124

+0

@ sshashank124你在尋找什麼樣的信息? - 我很樂意收錄它。我用來生成這個圖表的代碼量太多了,無法發佈。我主要是在尋找「可能的」問題或推動正確的方向。 –

+0

圖表從哪裏得到它的值?你是如何創建它的?你使用什麼數據類型來處理數字? – sshashank124

回答

0

這可能是因爲該double類型。在某些情況下它不夠精確。請嘗試使用BigDecimal

更多信息:Double vs. BigDecimal?

4

它只是在格式進行舍入造成的。讓我們看看這個例子:http://jsfiddle.net/MkuMS/

總和爲:74.5+14.1+10.3+1.2 = 100.1

現在,讓我們remove從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