有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java DecimalFormat无法处理数学问题。圆周率

我在写一个简单面积方程的课程时,遇到了一个看似很小的问题。这里是有问题的方法

    public static double CircleArea()
 {
  Scanner scanner = new Scanner(System.in);
  DecimalFormat formater = new DecimalFormat("##00.00");
  System.out.print("Please enter the radius of the circle: ");
  double radius = scanner.nextDouble();
  double area = Math.PI * (radius * radius);
  System.out.println("The area of circle is: " + area);
  return 0;
 }

现在,在我所有的其他方法中,它似乎工作得很好,但是在这个方法中,它没有将格式限制在小数点后两位。如果能得到任何帮助,我将不胜感激


共 (1) 个答案

  1. # 1 楼答案

    这是因为你没有使用格式化程序,试试这个

        String str = new DecimalFormat("0.00").format(area);
        System.out.println(str);
    

    或者更简单的版本

    System.out.printf("The area of circle is: %.2f%n", area);