java.math包下计算浮点数和整数的类

(1)BigIntege:实现任意精度的整数运算。
(2)BigDecimal:实现任意精度的浮点运算。

例如:

使用BigDecimal进行浮点数比较

import java.math.BigDecimal;

public class HelloWorld{
    public static void main(String[] args){

        BigDecimal a=BigDecimal.valueOf(1.0);
        
        a=a.subtract(BigDecimal.valueOf(0.1));    //subtract:减去
        a=a.subtract(BigDecimal.valueOf(0.1));
        a=a.subtract(BigDecimal.valueOf(0.1));
        a=a.subtract(BigDecimal.valueOf(0.1));
        a=a.subtract(BigDecimal.valueOf(0.1));

        System.out.println(a);    //输出:0.5

        System.out.println(1.0-0.1-0.1-0.1-0.1-0.1);    //输出:0.5000000000000001


        BigDecimal b=BigDecimal.valueOf(0.1);
        BigDecimal c=BigDecimal.valueOf(1.0/10.0);

        System.out.println(b==c);    //false

        System.out.println(b.equals(c));    //true
    }
}

 

posted @ 2020-02-24 23:09  三点杰  阅读(482)  评论(0编辑  收藏  举报