Java/JS保留小数的方法


/*返回double类型 ; 能进行四舍五入*/

public void method1() {

double f =111231.5585;

double f1= (double) Math.round(f *100) /100;

System.out.println(f1);

}

/* 四舍五入法 ;   返回double类型

* BigDecimal.ROUND_HALF_UP表示四舍五入,

* BigDecimal.ROUND_HALF_DOWN也是五舍六入,

* BigDecimal.ROUND_UP表示进位处理(就是直接加1),

* BigDecimal.ROUND_DOWN表示直接去掉尾数* */

public  void  method2(){

double f =111231.5585;

BigDecimal bg =new BigDecimal(f);

//第一个参数2是保留2位的意思

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

System.out.println(f1);

}

/* 返回String类型;String.format打印最简便; %.2f表示保留后两位,能四舍五入**/

public void method3() {

double f =111231.5585;

String f1=String.format("%.2f", f);

System.out.println(f1);

}

/* 返回String类型 ; DecimalFormat转换最简便 ; 0.00表示保留后两位,它的处理方式是直接截掉不要的尾数,不四舍五入。* */

public void method4() {

double f =111231.5585;

DecimalFormat df =new DecimalFormat("0.00");//格式化小数

  String f1 = df.format((float)1/2);//返回的是String类型

  System.out.println(f1);

}

/*返回String类型;RoundingMode.HALF_DOWN表示 五舍六入,负数先取绝对值再五舍六入再负数;RoundingMode.HALF_UP:表示四舍五入,负数先取绝对值再五舍六入再负数。* */

public void method5() {

double f =111231.5585;

NumberFormat nf = NumberFormat.getNumberInstance();

nf.setMaximumFractionDigits(2);// 保留两位小数

  nf.setRoundingMode(RoundingMode.UP);//表示四舍五入

  String f1=nf.format(f);

System.out.println(f1);

}


/*JS 四舍五入的情况*/

var num =2.446242342;

var num1 =num.toFixed(2);// 输出结果为2.45

/*JS 不会四舍五入的情况*/

var num2 =Math.floor(num *100) /100 //输出结果为2.44

你可能感兴趣的:(Java/JS保留小数的方法)