发布网友 发布时间:2022-03-30 09:46
共2个回答
热心网友 时间:2022-03-30 11:15
java中 double 类型只是一个简单类型,是不能其输出位数及精度是固定的
可以利用其它方法进行位数输出,如:
public static void main(String[] args) {
// 1. 使用 String.format() 方法
double data = 11.823283293;
System.out.println(String.format("%.2f", data));
// 2. 使用 printf 输出
System.out.printf("%.2f", data);
// 3. 使用 DecimalFormat 对象格式化
DecimalFormat format = new DecimalFormat("#.00");
System.out.println(format.format(data));
}
热心网友 时间:2022-03-30 12:33
//方法一
NumberFormat nFormat=NumberFormat.getNumberInstance();
nFormat.setMaximumFractionDigits(2);//设置小数点后面位数为
System.out.println(nFormat.format(3.1415););
方法二
double d = 14.7155;
DecimalFormat df0 = new DecimalFormat("###");
DecimalFormat df1 = new DecimalFormat("###.0");
DecimalFormat df2 = new DecimalFormat("###.00");
System.out.println(df0.format(d));
System.out.println(df1.format(d));
System.out.println(df2.format(d));
double test = Math.round(d);
System.out.println(test);