天天看点

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();