BigDecimal的使用

在java中提供了大数字的操作类,即java.math.BinInteger类和java.math.BigDecimal类。这两个类用于高精度计 算,其中BigInteger类是针对大整数的处理类,而BigDecimal类则是针对大小数的处理类。下边我们介绍BigDecimal类: 
BigDecimal的实现利用到了BigInteger,不同的是BigDecimal加入了小数的概念。一般的float型和Double型数据只可 以用来做科学计算或者是工程计算,由于在商业计算中,要求的数字精度比较高,所以要用到java.math.BigDecimal类,它支持任何精度的定 点数,可以用它来精确计算货币值。下边我们通过举例简单介绍它的用法 


保留两位小数{

方法一:{

   double   c=3.154215;

   java.text.DecimalFormat myformat=new java.text.DecimalFormat("0.00");

   String str = myformat.format(c);    
}


方式二:{

   java.text.DecimalFormat   df   =new   java.text.DecimalFormat("#.00"); 
   df.format(你要格式化的数字);

   例:new java.text.DecimalFormat("#.00").format(3.1415926)

   #.00 表示两位小数 #.0000四位小数 以此类推...
}


方式三:{

   double d = 3.1415926;

   String result = String .format("%.2f");

   %.2f %. 表示 小数点前任意位数   2 表示两位小数 格式后的结果为f 表示浮点型
}

}


四舍五入 {

double   f   =   111231.5585; 
BigDecimal   b   =   new   BigDecimal(f); 
//保留2位小数
double   f1   =   b.setScale(2,   BigDecimal.ROUND_HALF_UP).doubleValue(); 
}

你可能感兴趣的:(java开发)