如何将十进制输出格式化为小数点后的2位数

时间:2016-01-23 05:34:08

标签: java

有人可以帮我格式化输出吗?我已经尝试了很多不同的东西,所有eclipse一直给我的是错误错误错误。我期待只有一个带有2个数字的小数点。

import java.util.Scanner;

public class Radius {

public static void main(String[] args) {

    Scanner input = new Scanner(System.in);

    //Define variables
    double dim;
    final double PI = 3.14159;

    //Prompt for radius
    System.out.printf("Enter the radius: ");
    double num1 = input.nextDouble();

    //Compute diameter and area
   double dim1 = num1 * 2;
   double cir = dim1 * PI;
   double area = num1 * num1 * PI;

    //Print output
   System.out.println("The diameter is " + dim1);
   //System.out.println();
   //System.out.println();
   System.out.println("The circumference is " + cir %2f);
   //System.out.println();
   //System.out.println();
   System.out.println("The area is " + area %2f);
}
}

1 个答案:

答案 0 :(得分:1)

一种方法是使用java.lang.String#format - 它使用旧的C风格格式来指定格式,例如您想要的格式。

以下内容应该有效:

System.out.println(String.format("The diameter is %.2f", dim1))

这同样适用于其他两条输出线。可以使用其他格式 - 详细信息可在Java API文档中找到:

String#format format specification

编辑:最简单的'方式是安德烈亚斯'以下评论,但同样的原则适用