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



  • 相关阅读:
    复盘MySQL(存储引擎、事务)通俗易懂!
    elasticsearch + logstash + kinaba 数据库自动同步es
    安装kinaba
    安装logstash
    安装ik中文分词器
    安装elasticsearch
    魔兽争霸3地图编辑 预览图制作方法和载入图制作方法 详细记录
    搭建后数据库连接成功 但是无法登陆SQLSTATE[HY000] [2002] Connection refused 记录
    蜻蜓直播社交软件之蜻蜓s前端文件目录详解-开源系统蜻蜓s系统
    靠谱可用的discuz管理员 密码找回方法 , discuz 管理员密码被改,密码忘记,密码如何重置
  • 原文地址:https://www.cnblogs.com/selinamee/p/9398341.html
Copyright © 2020-2023  润新知