java中小数的加减乘除

来源:互联网 发布:linux怎么查看root密码 编辑:程序博客网 时间:2024/03/29 04:11

昨天修改一个项目的时候,突然发现收银时出现了问题,本来是
单价数量折扣=应收金额 或者正常的加减,会突然出现很多个小数,

public static void main(String[] args) {        double kk = 3.14;        kk += 0.37;        float ff = 3.14f;        ff += 0.37f;        System.out.println("double kk =" + kk);        System.out.println("float ff =" + ff);    }
输出结果:double kk =3.5100000000000002float ff =3.5100002

小数加减乘除建议用BigDecimal;

public static void main(String[] args) {        //小数加减乘除用BigDecimal        BigDecimal b1 = new BigDecimal("3.14");        BigDecimal b2 = new BigDecimal("0.37");        BigDecimal b3 = b1.add(b2);//        BigDecimal b4 = b1.subtract(b2);//        BigDecimal b5 = b1.multiply(b2);        System.out.println("3.14 + 0.37 = " + b3);        System.out.println("3.14 - 0.37 = " + b4);        System.out.println("3.14 * 0.37 = " + b5);    }
输出:3.14 + 0.37 = 3.513.14 - 0.37 = 2.773.14 * 0.37 = 1.1618
1 0
原创粉丝点击