情景:java项目中有时会用到,某些数据的百分比计算,百分比计算涉及到精度问题,选择一种精确的计算方式,那就尤其重要,这时候BigDecimal就派上大用场啦,它能提供精确的结果。
下面是在网上找的一个公共方法,通过测试通过方法如下:
import java.math.BigDecimal;
public class CalculateUtil {
/**
* @param a 单数 32
* @param b 总数 145
* a / b 计算百分比32/145
* @return 22.07%
*/
public static String CalculateUtil(BigDecimal a, BigDecimal b){
String percent =
b == null ? "-" :
b.compareTo(new BigDecimal(0)) == 0 ? "-":
a == null ? "0.00%" :
a.multiply(new BigDecimal(100)).divide(b,2,BigDecimal.ROUND_HALF_UP) + "%";
return percent;
}
}
ok 就到这里了( ^ - ^ )