天天看點

java筆記(五) BigInteger, BIgDecimal,轉換為其他類型

一.BigInteger的用法

有時候

long

的長度不夠

就要用

BigInteger

來進行大數值的運算

要引入頭檔案

java.math.BigInteger

例如求階乘

import java.math.BigInteger;  // 引入大數值頭檔案

public class JieCheng
{
    public static void jc()   // 定義階乘的函數
    {
        BigInteger sum = BigInteger.valueOf(0);   // 對總數進行定義

        // 開始階乘
        for(int i = 1;i <= 100;i++ )
        {
            BigInteger num = BigInteger.valueOf(1);

            // 每一個小項的階乘
            for(int j = 1;j <= i;j++)
            {
                num = num.multiply(BigInteger.valueOf(j));
            }

            // 求和
            sum = sum.add(num);
        }
       
        //  輸出
        System.out.println(sum);
    }

    public static void main(String args[])
    {
        jc();
    }
}

           

由于直接使用

BigInteger num = new BigInteger("字元串“)

參數是字元串 不是數字

是以使用

BigInteger sum = BigInteger.valueOf(0);

sum

直接初始化為數字0

這個資料類型進行的不是 + - * /

而是要調用自身的函數來進行計算

BigInteger add()

BigInteger subtract()

BigInteger multiply()

BigInteger divide(BigInteger val)

java筆記(五) BigInteger, BIgDecimal,轉換為其他類型

這裡面的b也得是

BigInteger'

類型

二.BigDecimal

這個的用法和上面的一樣

隻不過是小數

import java.math.BigDecimal;
public class text
{
    public static void main(String args[])
    {
        BigDecimal num = BigDecimal.valueOf(1.22);
        num = num.add(BigDecimal.valueOf(2));
        System.out.println(num);
    }
}

           

三.轉換

BigDecimal b=new BigDecimal(45.45);

int a = b.intValue();