使用main方法测试BigDecimal时:
public class Number {
public static void main(String[] args) {
BigDecimal x = new BigDecimal(2.0);
BigDecimal y = new BigDecimal(1.2);
BigDecimal z = x.subtract(y);
System.out.println(z);
}
}
得出的结果是:
输出的结果却不是0.8
但是若将数值改变成2.0-1.5
public class Number {
public static void main(String[] args) {
BigDecimal x = new BigDecimal(2.0);
BigDecimal y = new BigDecimal(1.5);
BigDecimal z = x.subtract(y);
System.out.println(z);
}
}
控制台结果
虽说二进制系统中无法精确地表示分数1/10,但是java基础中提到的DiaDeciaml不就是为了保证小数精确地吗?
有点不理解,求大神解答