我想以四舍五入的方法控制它的输出为6位的小数请问如何做到
public class FloatTest 
{
public static void main(String[]args)
{
float f1,f2;
short a=3;
float f3=1f;
System.out.println(f3/a);

}
}

解决方案 »

  1.   

    float b = f3/a;
    float   c   =   (float)(Math.round(b*1000000))/1000000;
    System.out.println(c);
      

  2.   

    楼上的方法是可以的, 不过如果是小数点后6位, 恐怕就要用double类型了。
      

  3.   

    默认情况下,java中float是小数点后7位吧。
      

  4.   

    我这里有个Double的,你自己改造一下
      public static double function2(double value, int decimalPlaces) {
        NumberFormat nf = NumberFormat.getNumberInstance();
        nf.setRoundingMode(RoundingMode.HALF_UP); // 四舍五入
        nf.setMaximumFractionDigits(decimalPlaces);
        nf.setMinimumFractionDigits(decimalPlaces);
        return Double.valueOf(nf.format(value));
      }