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
        }
    } 



  • 相关阅读:
    [充电][ios]ios充电接口
    [ios]app后台运行
    [ios][opengles]GLKit如何搭一个app的框架
    [UML]转:UML类图集中关系的总结
    [UML]转:浅谈UML的概念和模型之UML九种图
    [ios][swift]使用swift闭包进行viewcontroller反向传值
    [ios]纯代码实现UITableViewCell的自定义扩展
    [ios][opengles]opengles纹理贴图
    [ios][swift]swift 怎么去除 optional
    mysql数据库指定ip远程访问
  • 原文地址:https://www.cnblogs.com/selinamee/p/9398341.html
Copyright © 2011-2022 走看看