如何在java中用float数据类型获取1或2位小数

bxpogfeg  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(326)

这个问题在这里已经有答案了

java中如何将数字四舍五入到小数点后n位(35个答案)
5年前关门了。
我有问题的浮动数据类型在获得1或2位小数点。。
但如果你看代码,我觉得没问题,但输出是不同的。。我不想转换成字符串,但co'z我需要做一些其他的打印出来之前。。
只是为了测试的目的,我做了这个字面上。有一些变量和解决方法可以简化一切。它应该在12.8结束,但它产生12.800001,这就是为什么它跳过我的测试。。

float oh=11.0f;
    int retval=1;
      while (oh<=12.8)
        {
        //System.out.printf("%-11s",dec_format.format(oh)+'K');
     System.out.println(oh);
        oh=oh + 0.3f;
     }

输出为:11.0 11.3 11.6 11.900001 12.200001 12.500001
它应该在12.8结束,为什么是…00001??

icomxhvb

icomxhvb1#

System.out.printf("%2.3f", 2.887); 印刷品
2.887 System.out.printf("%2.2f", 2.887); 印刷品
2.89 System.out.printf("%2.1f", 2.887); 印刷品 2.9

相关问题