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%

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM