System.out.println(2100000.75f);结果输出为2100000.8,请告诉我为什么?应该没有超过浮点类型的有效位数。

解决方案 »

  1.   

    float的有效数字7位,2100000已经7位乐啊
      

  2.   

    float 32位 没有超出范围-3.40292347E+38~3.40292347E+38类似的
    double a=calc.volume(10.3f×13.2f×32.32f);
    System.out.println(vol);
    输出为:4394.227176385497
    老师说这个是因为有随机分配的
    ………………
      

  3.   

    也不大明白,
    不过如果要精确计算,建议用
    BigDecimal