在java 裏面,int 的最大值是:2147483647,現在如果想用比這個數大怎麼辦?換句話說,就是數值較大,這時候就用到了BigDecimal
下載整理了一下BigDecimal 的加減乘除。。
BigDecimal bignum1 = new BigDecimal("10");
BigDecimal bignum2 = new BigDecimal("5");
BigDecimal bignum3 = null;
//加法
bignum3 = bignum1.add(bignum2);
System.out.println("和 是:" + bignum3);
//減法
bignum3 = bignum1.subtract(bignum2);
System.out.println("差 是:" + bignum3);
//乘法
bignum3 = bignum1.multiply(bignum2);
System.out.println("積 是:" + bignum3);
//除法
bignum3 = bignum1.divide(bignum2);
System.out.println("商 是:" + bignum3);
運行結果爲:
最後整理了一下BigDecimal 的比較大小。
BigDecimal num1 = new BigDecimal("0");
BigDecimal num2 = new BigDecimal("1");
BigDecimal num3 = new BigDecimal("2");
BigDecimal num = new BigDecimal("1"); //用做比較的值
System.out.println(num1.compareTo(num)); //小於 時,返回 -1
System.out.println(num2.compareTo(num)); //等於 時,返回 0
System.out.println(num3.compareTo(num)); //大於 時,返回 1
解釋下載註釋裏面了。
補充:
BigInteger 也可以存放比較大的數, 和 BigDecimal 的區別是 :BigInteger 存放的是大的整數,而BigDecimal 存放大的小數
繼續補充一下,用BigDecimal 寫個for循環。
for (BigDecimal i = new BigDecimal("0"); i.compareTo(new BigDecimal("10")) != 1; i = i.add(new BigDecimal("1"))) {
System.out.print(i + "\t");
}
控制檯打印的是從0 到 10 。