zoukankan      html  css  js  c++  java
  • DecimalFormat数字格式化

    DecimalFormat可以按照需要格式化数字,下面简单介绍一下几种使用。其中自己也踏踏实实踩了坑,谨此记录。

    保留位数设置
    public class DecimalUtils {
     
        //保留2位,不足补0
        private static final DecimalFormat df_fill_zero = new DecimalFormat("00.00");
        //保留2位,不足保留原位数
        private static final DecimalFormat df_fill_null = new DecimalFormat("##.##");
    
    
        public static void main (String args[]) {
            System.out.println(df_fill_zero.format(1.2)); //01.20  不足2位补0
            System.out.println(df_fill_null.format(1.2)); //1.2   不足2位保留原数位
    
            System.out.println(df_fill_zero.format(1.224)); //01.22 超出2位截断(舍入模式后面再说)
            System.out.println(df_fill_null.format(1.224)); //1.22 超出2位截断(舍入模式后面再说)
    
            System.out.println(df_fill_zero.format(123.22)); //123.22
            System.out.println(df_fill_null.format(123.22)); //123.22
        }
    }

    运行结果:

    01.20
    1.2
    01.22
    1.22
    123.22
    123.22

    舍入模式

    默认舍入模式

    public class FormatDefault {
      //保留3位,不足保留原位数
        private static final DecimalFormat df_t = new DecimalFormat("#.###");
    
    
        public static void main (String args[]) {
            //默认舍入模式(RoundingMode.HALF_EVEN)
            System.out.println(df_t.format(1234.2224)); //1234.222
            System.out.println(df_t.format(1234.2226)); //1234.223
    
            System.out.println(df_t.format(1234.2225)); //1234.223  最后一位偶数,舍入
            System.out.println(df_t.format(1234.2235)); //1234.223  最后一位奇数,舍去
        }
    }

    四舍五入模式

    public class FormatHalfUp {
    
        /***
         * 最多保存3位小数,如果number少于3位则保留原小数位数,如果多于3位则四舍五入保留3位小数
         */
        public static String formatHalfUp(double number) {
            DecimalFormat df = new DecimalFormat("#.###");
            df.setRoundingMode(RoundingMode.HALF_UP);
            return df.format(BigDecimal.valueOf(number)); //防止精度丢失,数字类型用BigDecimal
        }
    
        public static void main (String args[]) {
            //四舍五入舍入模式(RoundingMode.HALF_UP)
            System.out.println(formatHalfUp(1234.2224)); //1234.222
            System.out.println(formatHalfUp(1234.2226)); //1234.223
    
            System.out.println(formatHalfUp(1234.2225)); //1234.223
            System.out.println(formatHalfUp(1234.2235)); //1234.224
        }
    } 



  • 相关阅读:
    python3.6中 字典类型和字符串类型互相转换的方法
    "sorted()"中的"Key Functions"
    tuple unpacking
    理解"__repr__"
    Python中的"Special Method"
    abstractmethod
    JavaScript括号中什么什么不加引号什么时候加引号?
    加载网页时速度慢的一些知识点
    Login登录页面的制作流程(摘要)
    JavaScript总结1
  • 原文地址:https://www.cnblogs.com/selinamee/p/9398341.html
Copyright © 2011-2022 走看看