关于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