如何利用java实现浮点数的精确计算

来源:互联网 发布:软件项目立项书 编辑:程序博客网 时间:2024/05/05 16:47

&&在java中进行浮点数计算时,因为浮点数再计算机存储时都是二进制存储,所以在计算的过程会出现不精确的计算,例如2-1.1时,得到的结果是0.899999999999.
&&如果我们想让Java在计算浮点数,实现精确计算,那么我们将会用到BigDecimal类,利用该类来实现浮点数的精确计算。

public class AccurateFloat{    public static void main(String[] args){        double money = 2;        double price = 1.1;        double result = money - price;        System.out.println("非精确计算:");        System.out.println("剩余金额为:" + result);        // 精确浮点计算        BigDecimal money1 = new BigDecimal("2");        BigDecimal price1 = new BigDecimal("1.1");        BigDecimal result1 = money1.subtract(price1);        System.out.println("精确计算:");        System.out.println("剩余金额为:" + result1);    }}

&&**这里要注意:**BigDecimal类中表示的数字都是String型的。

0 0