double保留x位小数的方法

1、使用printf()

double a = 1.123;
//注意分隔是逗号!!
System.out.printf("%.2f",a); 

%d 十进制有符号整数
%u 十进制无符号整数
%f 浮点数
%s 字符串
%c 单个字符
%p 指针的值
%e 指数形式的浮点数
%x, %X 无符号以十六进制表示的整数
%o 无符号以八进制表示的整数
%g 把输出的值按照%e或者%f类型中输出长度较小的方式输出
%p 输出地址符
%lu 32位无符号整数
%llu 64位无符号整数

2、使用DecimalFormat

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

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

你可能感兴趣的:(Java基础知识)