关于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 字符串忽略小数点取整 java保留小数点后两位_d3

  • 位置: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可以进行数值计算

java 字符串忽略小数点取整 java保留小数点后两位_d3_02

  • 除法:BigDecimal(BigDecimal bd, int scal, RoundingMode mode)
  • 参数scal:指定精确到小数点后几位
  • 参数mode
  • 指定小数部分的取舍模式,通常采用四舍五入的模式
  • 取值为BigDecimal.ROUND_HALF_UP