认识对象(四)java.math.BigDecimal

当我们去计算1.0-0.8的时候,结果往往不是0.2
这是因为Java遵守IEEE754浮点数运算规范,所以使用分数与指数来表示浮点数。
例如0.1会使用1/16+1/32+1/256..来表示。
无法精确表示,从而造成运算上误差。
java.math.BigDecimal就是为了解决其而生。


package cc.openhome;
import java.math.BigDecimal;
public class DecimalDemo {

    public static void main(String[] args) {
    double a=1.0,b=0.8;
    double c;
    c=a-b;
    System.out.println(c);
    BigDecimal operand1=new BigDecimal("1.0");
    BigDecimal operand2=new BigDecimal("0.8");
    BigDecimal result =operand1.subtract(operand2);
    System.out.println(result);
    }

}

BigDecimal提供plus(),substract(),multiply(),divide();可以进行加、减、乘、

除等运算。

猜你喜欢

转载自blog.csdn.net/leaflifeli/article/details/81090677
今日推荐