java保留两位小数4种方法

方法一:String的format方法(推荐)

double f = 111231.5585;

System.out.println(String.format("%.2f", f));

 

方法二:DecimalFormat的format方法

double f = 111231.5585;

DecimalFormat df = new DecimalFormat("#.00");

System.out.println(df.format(f));

 

 

 



 

以下内容了解即可,可以不用看

方法三:BigDecimal的setScale方法

double f = 111231.5585;

BigDecimal bg = new BigDecimal(f);

double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();

System.out.println(f1);

 

方法四:NumberFormat的setMaximumFractionDigits方法

double f = 111231.5585;

NumberFormat nf = NumberFormat.getNumberInstance();

nf.setMaximumFractionDigits(2);

System.out.println(nf.format(f));

 

代码:



1 import java.math.BigDecimal;
2 import java.text.DecimalFormat;
3 import java.text.NumberFormat;
4 public class format {
5 double f = 111231.5585;
6 public void m1() {
7 BigDecimal bg = new BigDecimal(f);
8 double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
9 System.out.println(f1);
10 }
11 /**
12 * DecimalFormat转换最简便
13 */
14 public void m2() {
15 DecimalFormat df = new DecimalFormat("#.00");
16 System.out.println(df.format(f));
17 }
18 /**
19 * String.format打印最简便
20 */
21 public void m3() {
22 System.out.println(String.format("%.2f", f));
23 }
24 public void m4() {
25 NumberFormat nf = NumberFormat.getNumberInstance();
26 nf.setMaximumFractionDigits(2);
27 System.out.println(nf.format(f));
28 }
29 public static void main(String[] args) {
30 format f = new format();
31 f.m1();
32 f.m2();
33 f.m3();
34 f.m4();
35 }
36 }