小数的取模运算

来源:3-8 Java中运算符的优先级

慕的地8271582

2023-02-24 21:32

2.4%2通常理解的话结果应该是0.4

但是在程序里输出之后结果是0.399999999 九循环,想问问是为什么

写回答 关注

1回答

  • MacZhen
    2023-02-26 23:26:14

    二进制无法精确表示浮点数的值,计算结果会有精度损失。

    在涉及浮点数计算的时候请使用BigDecimal

    public static void main(String[] args) {
        BigDecimal a = BigDecimal.valueOf(2.4);
        BigDecimal b = BigDecimal.valueOf(2);
        System.out.println(a.divideAndRemainder(b)[1]);
    }


Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165172 学习 · 17581 问题

查看课程

相似问题