BigDecimal类(java.math)

java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。表5.7中列出了BigDecimal类的主要构造器和方法。

构造描述:
BigDecimal(int)    创建一个具有参数所指定整数值的对象。 
BigDecimal(double) 创建一个具有参数所指定双精度值的对象。 
BigDecimal(long)   创建一个具有参数所指定长整数值的对象。 
BigDecimal(String) 创建一个具有参数所指定以字符串表示的数值的对象。 

方法描述:
add(BigDecimal)          BigDecimal对象中的值相加,然后返回这个对象。 
subtract(BigDecimal)     BigDecimal对象中的值相减,然后返回这个对象。 
multiply(BigDecimal)     BigDecimal对象中的值相乘,然后返回这个对象。 
divide(BigDecimal)       BigDecimal对象中的值相除,然后返回这个对象。 
toString()               将BigDecimal对象的数值转换成字符串。 
doubleValue()            将BigDecimal对象中的值以双精度数返回。 
floatValue()             将BigDecimal对象中的值以单精度数返回。 
longValue()              将BigDecimal对象中的值以长整数返回。 
intValue()               将BigDecimal对象中的值以整数返回。 

这是一个实例:

   float  fpkz = pk_z;
   String spkz = ""+fpkz;
   fpkz = Float.parseFloat(spkz); 
   BigDecimal b0 = new BigDecimal(21);
   BigDecimal b1 = new BigDecimal(Float.toString(fpkz));
   BigDecimal b2 = b1.divide(b0, 1, BigDecimal.ROUND_HALF_UP);  
   BigDecimal fpkzbigRate = new BigDecimal(100); //创建一个BigDecimal对象
  BigDecimal fpkzbigReslut = new BigDecimal(0.0);//对象bigReslut的值要为0.0
   fpkzbigReslut = b2.multiply(fpkzbigRate);//BigDecimal对象中的值相乘,然后返回这个值
  spkz  = fpkzbigReslut.toString();
   fpkz = fpkzbigReslut.floatValue();

  

 

具体参考:http://www.oschina.net/home/apidoc?api=javase-6-doc-api-zh_CN

你可能感兴趣的:(BigDecimal)