Java浮点模错误

Java浮点模错误,java,Java,我的机器上的输出是1.0000002 为什么? 首先,如何将浮点值声明为变量 float a = (float) 3.32 ; float b = (float) 4.32 ; System.out.println(b%a); 关于你的结果。 这是浮点的典型特性 如何得到正确答案?这样试试 float val=3.23f; 输出: BigDecimal a = new BigDecimal("3.32") ; BigDecimal b = new BigDec

我的机器上的输出是1.0000002


为什么?

首先,如何将浮点值声明为变量

    float a = (float) 3.32 ; 
    float b = (float) 4.32 ; 
    System.out.println(b%a);
关于你的结果。 这是
浮点
的典型特性

如何得到正确答案?这样试试

float val=3.23f;
输出:

 BigDecimal a = new BigDecimal("3.32") ;
 BigDecimal b = new BigDecimal("4.32") ;
 System.out.println(b.divideAndRemainder(a)[1]); // 1st element is remainder 

您可能需要阅读

浮点类型本质上是不精确的。像这样的小错误是不可避免的。请看和@downvoter,看不到您的评论。我已向上投票支持风水:)
 1