这是整数
的静态值 private int upload=14, bill=15, unbill=85, total=100, unupload=12, sign=10, unsign=90, print=12, unprint=88;
设置饼图条目
ArrayList<Entry> entries = new ArrayList<>();
entries.add(new Entry(bill, 0));
entries.add(new Entry(unbill, 1));
entries.add(new Entry(print, 2));
entries.add(new Entry(unprint, 3));
entries.add(new Entry(sign, 4));
entries.add(new Entry(unsign, 5));
entries.add(new Entry(upload, 6));
entries.add(new Entry(unupload, 7));
int colors[] ={Color.rgb(84, 139, 221), Color.rgb(251, 249, 146),Color.rgb(151, 212, 153), Color.rgb(183, 144, 189),Color.rgb(226, 148, 188),Color.rgb(208, 189, 121),Color.rgb(185, 147, 134),Color.rgb(206, 139, 130)};
我在这里使用Mikephil PieChart,下面我在数据集中添加了条目。
PieDataSet dataset = new PieDataSet(entries, "Graph");
dataset.setColors(colors);
dataset.setSliceSpace(3f);
中提到的小数位数
输出很完美。我只想要没有小数位的输出。我怎么能这样做?
答案 0 :(得分:0)
问题基本上与this one相同,后者已经有了很好的答案。 This relevant question也有图书馆作者的规范答案。提出问题是很好的,但将来你可以通过事先研究它们来确保它们尚未被问到,从而避免对你的问题进行投票。
绝对不需要将库添加为.jar
文件,并按照之前的低质量答案编辑库代码。这恰好击败了使用库和使用Gradle等构建工具的整个目的。
根据上面链接的重复内容的确切内容,编写一个实现IValueFormatter
的类,如下所示:
public class IntValueFormatter implements IValueFormatter {
@Override
public String getFormattedValue(float value, Entry entry, int dataSetIndex, ViewPortHandler viewPortHandler) {
return String.valueOf((int) value);
}
}
然后你就这样消费它:
pieDataSet.setValueFormatter(new IntValueFormatter());
答案 1 :(得分:0)
您需要创建自定义的percentFormatter来格式化图表上的百分比表示。
public class Remover extends PercentFormatter {
private DecimalFormat mDecimalFormat;
public Remover (DecimalFormat format) {
this.mDecimalFormat = format;
}
@Override
public String getFormattedValue(float value, Entry entry, int dataSetIndex, ViewPortHandler viewPortHandler) {
return "% " + mDecimalFormat.format(value) ;
}
}
然后,您可以通过调用图表对象上的setValueFormatter()将此格式化程序分配给图表。
答案 2 :(得分:0)
将ValueFormatter设置如下
pieData.setValueFormatter(new ValueFormatter() {
@Override
public String getFormattedValue(float value) {
return String.valueOf((int) Math.floor(value));
}
});
答案 3 :(得分:0)
第一步:
请将其放在您的程序包文件夹中的“ PercentFormatter
”类下:
public class PercentFormatter extends ValueFormatter {
public DecimalFormat mFormat;
private PieChart pieChart;
public PercentFormatter() {
mFormat = new DecimalFormat("###,###,##");
}
public PercentFormatter(PieChart pieChart) {
this();
this.pieChart = pieChart;
}
@Override
public String getFormattedValue(float value) {
return mFormat.format(value) + " %";
}
@Override
public String getPieLabel(float value, PieEntry pieEntry) {
if (pieChart != null && pieChart.isUsePercentValuesEnabled()) {
// Converted to percent
return getFormattedValue(value);
} else {
// raw value, skip percent sign
return mFormat.format(value);
}
}
}
第二步: 在设置Piedata的活动中,以这种方式在PieDataset中添加值格式:
pieDataSet.setValueFormatter(new PercentFormatter());
PieData pieData = new PieData(pieDataSet);
pieChart.setData(pieData);
这样,我们可以删除Pie数据中的小数点。
答案 4 :(得分:0)
return String.valueOf(Math.floor(value)).replace(".0","")
这对我有用
答案 5 :(得分:-1)
如果可以输入整数值作为参数,或者如果库方法不接受整数值,则必须自定义库!