起因:
做了一道简单题复健但是被保留小数点卡了一下 OnlineJudge
建议以后复建再去看一下
保留小数点:
①System.out.printf("%.nf",xx)
System.out.printf("%.2f",3.14*r);
②String.format
System.out.println("C1="+String.format("%.2f",2*3.14*r));
System.out.println("Sa="+String.format("%.2f",3.14*r*r));
③DecimalFormat 格式化
DecimalFormat df = new DecimalFormat("#.00"); //几位小数几个0
System.out.println(df.format(f1));
System.out.println(df.format(f2));
④BigDecimal 位多使用
BigDecimal bg = new BigDecimal(f);
double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(f1);
⑤NumberFormat
NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(2);
System.out.println(nf.format(f));
⑥Math.round()
//Math.round(1000->小数点前保留3位)/1000.0->小数点后保留3位
System.out.println(Math.round(x*1000)/1000.0);
System.out.println(Math.round(x));//保留整数