注意:
1、整数除法会取整,不会保留小数点,需要保留小数,转为float在除
方法1、使用字符串格式化
public static float computePercentage(float a, float total) {
if (a == 0 || total == 0) {
return 0;
} else {
//4表示保留两位小数,f表示float类型,
//乘100是因为我是求百分比,
return Float.parseFloat(String.format("%.4f", a / total)) * 100;
}
}
测试:System.err.println(computePercentage(141,173));
输出:81.5
方法二、使用java.text.NumberFormat,数字格式化
NumberFormat nf=NumberFormat.getNumberInstance();
//设置最大保留小数点位数
nf.setMaximumFractionDigits(2);
float s=(float)141/(float)173;
System.err.println(nf.format(s));
输出:0.82
注:NumberFormat 还提供了百分比,整数格式化等。
方法三、使用DecimalFormat格式化
float s=(float)141/(float)173;
//#:以为阿拉伯数字,没有则不显示,0:一位阿拉伯数字,没有用0表示,
System.err.println(new DecimalFormat("##.00%").format(s));
输出:81.50%