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



  • 相关阅读:
    访问双工服务
    为 Silverlight 客户端生成双工服务
    RMAN创建辅助实例(副本数据库)
    js获取对话框返回值
    在ascx中使用js找不到对象问题解决
    css滑动门技术[摘自网络]
    非禁用validateRequest=false使用Page_Error()错误处理[摘自网络]
    PreviousPage跨页面传值
    jQuery Ajax 方法调用 Asp.Net WebService 的详细例子[转]
    动态的创建客户端控件[收藏网络]
  • 原文地址:https://www.cnblogs.com/selinamee/p/9398341.html
Copyright © 2011-2022 走看看