夕辞

java保留两位小数及多位小数的方法 | 夕辞夕辞

java保留两位小数及多位小数的方法

在JAVA代码开发中,我们经常用到对小数的处理,很多场景下要保留几位小数,比如在支付场景和订单中对金额的处理中,这个有很多方法,以下就介绍下常用的几种方法,我们以保留两位小数为例。

 

【推荐】第一种:String.format方法

double num = 1234.5678;
//保留两位小数
System.out.println(String.format("%.2f", num));
//保留三位小数
System.out.println(String.format("%.3f", num));

 

第二种:DecimalFormat.format方法

double num = 1234.5678;
//保留两位小数
DecimalFormat df = new DecimalFormat("#.00");
//保留三位小数
DecimalFormat df = new DecimalFormat("#.000");
System.out.println(df.format(num));

 

第三种:适用于大精度,BigDecimal.setScale方法

double num = 1234.5678;
BigDecimal bd = new BigDecimal(num);
//保留两位小数
double result = bd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
//保留三位小数
double result = bd.setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(result);

 

第四种:NumberFormat.setMaximunFractionDigits方法

double num = 1234.5678;
NumberFormat nf = NumberFormat.getNumberInstance();
//保留两位小数
nf.setMaximumFractionDigits(2);
//保留三位小数
nf.setMaximumFractionDigits(3);
System.out.println(nf.format(num));

 

以上就是可用的方法了。

2020年9月23日 / /
标签:  暂无标签
回到顶部