BigDecimal保留两位小数及格式化成百分比
在项目中经常会用到小数的一些计算,而float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确。所以有时候必须要采用BigDecimal。
public class Demo {
public static void main(String[] args) {
BigDecimal a =null;
Integer faultRate = 6;
a = BigDecimal.valueOf(faultRate.doubleValue()/3);
BigDecimal b =a.setScale(2, RoundingMode.HALF_UP);//保留两位小数
System.out.println("结果是"+b);
//下面将结果转化成百分比
NumberFormat percent = NumberFormat.getPercentInstance();
percent.setMaximumFractionDigits(2);
System.out.println(percent.format(b.doubl