java保留小数点,数字格式化

注意:

  1、整数除法会取整,不会保留小数点,需要保留小数,转为float在除

 

方法1、使用字符串格式化

public static float computePercentage(float a, float total) {
    if (a == 0 || total == 0) {
        return 0;
    } else {
        //4表示保留两位小数,f表示float类型,
        //乘100是因为我是求百分比,
        return Float.parseFloat(String.format("%.4f", a / total)) * 100;
    }
}
测试:System.err.println(computePercentage(141,173));
输出:81.5

方法二、使用java.text.NumberFormat,数字格式化

  NumberFormat nf=NumberFormat.getNumberInstance();

  //设置最大保留小数点位数
  nf.setMaximumFractionDigits(2);
  float s=(float)141/(float)173;
  System.err.println(nf.format(s));

  输出:0.82

  注:NumberFormat 还提供了百分比,整数格式化等。

 

方法三、使用DecimalFormat格式化

  float s=(float)141/(float)173;

  //#:以为阿拉伯数字,没有则不显示,0:一位阿拉伯数字,没有用0表示,
  System.err.println(new DecimalFormat("##.00%").format(s));

  输出:81.50%

 

上一篇:【Maven】五、私服之安装第三方jar包


下一篇:在启动kubernets的时候报错