Java浮点模数错误

时间:2014-09-10 09:20:07

标签: java

    float a = (float) 3.32 ; 
    float b = (float) 4.32 ; 
    System.out.println(b%a);
我机器上的

输出是1.0000002

为什么?

1 个答案:

答案 0 :(得分:2)

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

float val=3.23f;

关于你的结果。    这是float的典型特征。

如何获得正确答案?试试这种方式

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

Out put:

 1

您可能需要阅读divideAndRemainder()