在java 里面,int 的最大值是:2147483647,现在如果想用比这个数大怎么办?换句话说,就是数值较大,这时候就用到了BigDecimal
下载整理了一下BigDecimal 的加减乘除。。
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 的比较大小。
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
补充:
BigInteger 也可以存放比较大的数, 和 BigDecimal 的区别是 :BigInteger 存放的是大的整数,而BigDecimal 存放大的小数
继续补充一下,用BigDecimal 写个for循环。
1 for (BigDecimal i = new BigDecimal("0"); i.compareTo(new BigDecimal("10")) != 1; i = i.add(new BigDecimal("1"))) { 2 System.out.print(i + " "); 3 }
控制台打印的是从0 到 10 。