BigDecimal有自己的算法函数。

 

下载整理了一下BigDecimal 的加减乘除。。

 

[java] view plain copy

  1. BigDecimal bignum1 = new BigDecimal("10");  
  2. BigDecimal bignum2 = new BigDecimal("5");  
  3. BigDecimal bignum3 = null;  
  4.   
  5. //加法  
  6. bignum3 =  bignum1.add(bignum2);       
  7. System.out.println("和 是:" + bignum3);  
  8.   
  9. //减法  
  10. bignum3 = bignum1.subtract(bignum2);  
  11. System.out.println("差  是:" + bignum3);  
  12.   
  13. //乘法  
  14. bignum3 = bignum1.multiply(bignum2);  
  15. System.out.println("积  是:" + bignum3);  
  16.   
  17. //除法  
  18. bignum3 = bignum1.divide(bignum2);  
  19. System.out.println("商  是:" + bignum3);  

 

运行结果为:

BigDecimal 加减乘除_java开发笔记

 

最后整理了一下BigDecimal 的比较大小。

[java] view plain copy

  1. BigDecimal num1 = new BigDecimal("0");  
  2. BigDecimal num2 = new BigDecimal("1");  
  3. BigDecimal num3 = new BigDecimal("2");  
  4.   
  5. BigDecimal num = new BigDecimal("1"); //用做比较的值  
  6.   
  7. System.out.println(num1.compareTo(num));    //小于 时,返回 -1  
  8. System.out.println(num2.compareTo(num));    //等于 时,返回 0  
  9. System.out.println(num3.compareTo(num));    //大于 时,返回 1  

 

这是输出结果:
BigDecimal 加减乘除_java开发笔记_02

解释下载注释里面了。

 

补充:

BigInteger 也可以存放比较大的数, 和 BigDecimal 的区别是 :BigInteger 存放的是大的整数,而BigDecimal 存放大的小数

 

继续补充一下,用BigDecimal 写个for循环。

[java] view plain copy

  1. for (BigDecimal i = new BigDecimal("0"); i.compareTo(new BigDecimal("10")) != 1; i = i.add(new BigDecimal("1"))) {  
  2.     System.out.print(i + "\t");  
  3. }  

 

 

 

控制台打印的是从0 到 10 。

 

 

 

BigDecimal转换:

toString()将BigDecimal对象的数值转换成字符串。 

doubleValue()将BigDecimal对象中的值以双精度数返回。 

floatValue()将BigDecimal对象中的值以单精度数返回。 

longValue()将BigDecimal对象中的值以长整数返回。 

intValue()将BigDecimal对象中的值以整数返回。