java浮点类型的结果精度

java浮点类型的结果精度

岁月打碎记忆 发布于 2021-11-27 字数 486 浏览 858 回复 3

float[] fls = {0.50f,0.50f,0.5f,1f,1f,0.5f,0.5f,0.5f,0.0f,0.5f,0.5f,2.0f,2.0f,1.0f,2.00f,1.00f,1.00f,0.1f,0.1f,0.1f,0.1f,0.1f,0.1f,0.1f,0.1f,0.1f};
        
        float result = 0f;
        for (float f : fls) {
            result += f ;
        }
        System.out.println(result);

显示结果是15.900003??????这是为什么

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

滥情空心 2021-11-29 3 楼

strictfp

贱贱哒 2021-11-29 2 楼

个人理解,浮点数在内存中存了个近似值

筱武穆 2021-11-28 1 楼

你可以去搜一下IEEE的浮点数标准,因为浮点数是:符号位 底数 * 2的指数幂这种,所以用它来做运算肯定拿不到准确的结果的。