Java Double 输出结果保留几位小数 使用printf

方法一:使用printf

System.out.printf("%4.2f/c/b(布尔值)/d/e/s(字符串)");
默认情况下,浮点值显示小数点后六位
%e要求必须是浮点型的值
要在格式里输出直接量%,必须使用%%

 例如:

import java.text.DecimalFormat;
import java.util.Scanner;

public class cicle {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int r = in.nextInt();
		double d = r * r * Math.PI;
		DecimalFormat df = new DecimalFormat("#0.0000000");
		System.out.println(df.format(d));
		System.out.printf("%.7f",d);
	}
}

方法二: 使用DecimalFormat

BigDecimal类:是为了更加精确的存储小数,精确的表示、计算浮点数的运算;不可变的、任意精度的有符号的十进制数;

DecimalFormat df = new DecimalFormat("#0.0000000");
System.out.println(df.format(d));
//#0.00代表保留两位小数

猜你喜欢

转载自blog.csdn.net/sunnykaty/article/details/88087123