java float和double精度问题

来源:互联网 发布:网易企业邮箱域名 编辑:程序博客网 时间:2024/05/24 15:40
private static void testDouble() {        double a = 0.05+0.01;        float b = 0.05f+0.01f;        System.out.println(a);        System.out.println(b);}输出结果为a=0.060000000000000005b=0.060000002
其中float a = 1.0会报错,错误的原因:1.0默认是double类型不能转成float,
写成float a = (float)1.0;也会报错,正确写法float a = 1.0f或者1.0F
如果需要精度比较高的double和float类型进行计算最好用bigDecimal
0 0
原创粉丝点击