Я использую круговую диаграмму в своей деятельности. Когда я устанавливаю большое значение в записи, оно не показывает правильное значение.
Например:
Мое значение равно 627050000 , но на графике показано: 627049986 ,
или
Мое значение равно 477470000 , но на графике указано: 477470016 .
Вот мой код
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity);
double num1 = 627050000 ;
double num2 = 477470000 ;
setupPieChart();
}
private void setupPieChart() {
List<PieEntry> pieEntries = new ArrayList<>();
pieEntries.add(new PieEntry((float) num1 , "num1"));
pieEntries.add(new PieEntry((float) num2 , "num2"));
PieDataSet dataSet = new PieDataSet(pieEntries , "numbers");
PieData data = new PieData(dataSet);
PieChart pieChart = (PieChart) findViewById(R.id.piechart);
pieChart.setTransparentCircleAlpha(1);
pieChart.getDescription().setEnabled(false);
//add legend to chart
Legend legend = pieChart.getLegend();
legend.setForm(Legend.LegendForm.CIRCLE);
legend.setOrientation(Legend.LegendOrientation.VERTICAL);
legend.setDirection(Legend.LegendDirection.RIGHT_TO_LEFT);
legend.setPosition(Legend.LegendPosition.RIGHT_OF_CHART);
//add colors to dataset
ArrayList<Integer> colors = new ArrayList<>();
colors.add(Color.CYAN);
colors.add(Color.GREEN);
colors.add(Color.RED);
dataSet.setColors(colors);
pieChart.setData(data);
pieChart.animateY(1000);
pieChart.invalidate();
}
Я читал о ValueFormatter
классе, также используя BigDecimal, но я не понял.
Пожалуйста, помогите и объясните простым способом.
Спасибо.