如何使用浮点数据类型在Java中获取1或2位小数

如何使用浮点数据类型在Java中获取1或2位小数,java,decimal,Java,Decimal,我在浮点数据类型上有问题,只能获取1或2位小数 但是如果你看一下代码,我觉得还可以,但是输出是不同的。。我不想转换成字符串,但是在打印出来之前我需要做些别的事情 只是为了测试的目的,我确实这样做了。有一些变量和变通方法可以简化一切。它应该在12.8结束,但它产生12.800001,这就是为什么它跳过了我的测试 float oh=11.0f; int retval=1; while (oh<=12.8) { //System.out.pri

我在浮点数据类型上有问题,只能获取1或2位小数

但是如果你看一下代码,我觉得还可以,但是输出是不同的。。我不想转换成字符串,但是在打印出来之前我需要做些别的事情

只是为了测试的目的,我确实这样做了。有一些变量和变通方法可以简化一切。它应该在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;
     }
float oh=11.0f;
int-retval=1;
while(oh
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