2016-11-18 22 views
1

我正在使用MPAndroidChart库来制作饼图。我想用小数显示饼图值。我想保留%符号。如何删除小数点并在PieChart值中保留百分比?

This解决一个古老的类似的问题不是因为3.0.0版本MPAndroidChart释放有效

UPDATE: 这是去除小数

public class DecimalRemover extends DefaultValueFormatter { 
private int digits; 

public DecimalRemover(int digits) { 
    super(digits); 
    this.digits = digits; 
} 

@Override 
public int getDecimalDigits() { 
    return digits; 
} 
} 

但即使的更新方式如果我没有pieChart.setUsePercentValues(true);,“%”符号未显示

+0

为什么该解决方案是无效的?提到的设置valueformatter的函数仍然存在。 – GoneUp

+0

ValueFormatter接口已被删除 – suku

+0

你说得对。我只是看着javadoc。它仍然在那里,但它不再使用。 – GoneUp

回答

4

setData()方法中:

PieData data = new PieData(dataSet); 
data.setValueFormatter(new DecimalRemover(new DecimalFormat("###,###,###"))); 

这里是DecimalRemover类:

public class DecimalRemover extends PercentFormatter { 

protected DecimalFormat mFormat; 

public DecimalRemover(DecimalFormat format) { 
    this.mFormat = format; 
} 

@Override 
public String getFormattedValue(float value, Entry entry, int dataSetIndex, ViewPortHandler viewPortHandler) { 
    return mFormat.format(value) + " %"; 
} 
}