Java怎么保留两位小数(format、BigDecimal、DecimalFormat)

关于Java怎么保留两位小数

一、打印时调用String类的format方法进行设置保留位数(方便简洁)

二、创建DecimalFormat对象来实现打印保留位数后的数字(比第二个多创建一个对象)

三、创建BigDecimal对象进行运算后,设置保留位数。(此方法感觉不太实用)

 
 
一、String.format

double d1 = 6.6666;
double d2 = 8.88888;
double d3 = 3;
System.out.println(String.format("%.2f", d1));//设置保留两位小数
System.out.println(String.format("%.2f", d2));
System.out.println(String.format("%.2f", d3));
//注意:没有小数位或者小数位不够你设置的保留数时,自动补0

二、DecimalFormat

double d1 = 6.6666;
double d2 = 8.88888;
double d3 = 3;
DecimalFormat df = new DecimalFormat("#.00");//设置保留两位小数
System.out.println(df.format(d1));
System.out.println(df.format(d2));
System.out.println(df.format(d3));

三、BigDecimal
在这里插入图片描述

  • 位置:java.math包中
  • 作用:精确计算浮点数
  • 创建方式:BigDecimal bd = new BigDecimal(“1.0”);
  • 方法
    • BigDecimal add(BigDecimal bd)
    • BigDecimal subtract(BigDecimal bd)
    • BigDecimal multiply(BigDecimal bd)
    • BigDecimal divide(BigDecimal bd)

利用BigDecimal可以进行数值计算
在这里插入图片描述

  • 除法:BigDecimal(BigDecimal bd, int scal, RoundingMode mode)
  • 参数scal:指定精确到小数点后几位
  • 参数mode
    • 指定小数部分的取舍模式,通常采用四舍五入的模式
    • 取值为BigDecimal.ROUND_HALF_UP
发布了91 篇原创文章 · 获赞 148 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_44170221/article/details/104682774