zoukankan      html  css  js  c++  java
  • Java格式化打印及数字格式化

    一、格式化打印

    格式说明符以百分号(%)开头,以转换器结尾

    转换器是一个字符,指示要格式化的参数的类型

    在百分号(%)和转换器之间,您可以具有可选的标志和说明符

    java.util.Formatter中记录了许多转换器,标志和说明符

    Converter Flag Explanation
    d   十进制整数
    f   A float
    n   适合于运行应用程序的平台的换行符。您应该始终使用%n而不是
    tB   日期和时间转换-特定于语言环境的月份的全名
    td,te   日期和时间转换-2 位数的月份。 td 根据需要具有前导零,te 没有
    ty,tY   日期和时间转换-ty = 2 位数字年份,tY = 4 位数字年份
    tl   日期和时间转换-12 小时制中的小时
    tM   日期和时间转换-以 2 位数字表示的分钟,必要时带有前导零
    tp   日期和时间转换-特定于区域的 am/pm(小写)
    tm   日期和时间转换-以 2 位数字表示的月份,必要时带有前导零
    tD   日期和时间转换-日期为%tm%td%ty
      08 八个字符的宽度,必要时带有前导零
      + 包括正负号的符号
      包括特定于语言环境的分组字符
      - Left-justified..
      .3 小数点后三位
      10.3 右对齐十个字符,小数点后三位
    二、数字格式化

    可以使用java.text.DecimalFormat类来控制前零和后零,前缀和后缀,分组(千位)分隔符和十进制分隔符的显示

    DecimalFormat在数字格式设置方面提供了很大的灵 Active,但可以使您的代码更复杂

    Value Pattern Output Explanation
    123456.789 ###,###.### 123,456.789 井号(#)表示一个数字,逗号是分组分隔符的占位符,句点是十进制分隔符的占位符
    123456.789 ###.## 123456.79 value小数点右边有三位数,而pattern只有两位。 format方法通过四舍五入来处理此问题
    123.78 000000.000 000123.780 pattern指定前导零和尾随零,因为使用 0 字符代替了井号(#)。
    12345.67 $###,###.### $12,345.67 pattern中的第一个字符是美元符号($)。请注意,它紧接在格式output中最左边的数字之前
    public static void main(String[] args) {
    
      // 格式化打印
      System.out.format("%s%s%n","世界","你好");
    
      // 十进制整数格式化
      System.out.format("%s%d%n","成绩=",100);
    
      // 换行打印
      System.out.format("%s%n","HelloWorld");
    
      // 浮点数格式化
      System.out.format("%s%f%n","金额=",99.99d);
    
      // 数字格式化, 千分位, (#)表示一个数组的占位符, (,)表示分组分隔符的占位符
      formatToString("###,###.##",131415926.99);
    
      // 数字格式化 小数点后位数,四舍五入
      formatToString("##.##",99.993);
    
      // 数字格式化 0000.000, 前导零和尾随零, 使用(0)代替(#)占位符
      formatToString("0000.000",999.99);
    
      // 数字格式化 $###.###.###, ($)表示美元符号, 拼接在字符串的最前面
      formatToString("$###,###.###",99999.999);
    }
    
    static void formatToString(String pattern,Number number){
      DecimalFormat decimalFormat = new DecimalFormat(pattern);
      String format = decimalFormat.format(number);
      System.out.println("number = " + format);
    }
    
    ------------------------------------------------------------------------------------------------------------------------------------------
    世界你好
    成绩=100
    HelloWorld
    金额=99.990000
    number = 131,415,926.99
    number = 99.99
    number = 0999.990
    number = $99,999.999
  • 相关阅读:
    [转]十个让你变成糟糕的程序员的行为
    [转]CKEDITOR 使用说明
    [转]惹恼程序员的十件事
    基本权限管理框架配套代码生成器!
    Easy UI 点击TAB 标签 刷新内容
    jQuery.easyui 与 jQuery.Valiedate 验证控件组合使用实例!
    [转]十条不错的编程观点
    dos 改 ip
    今天碰到了几个老同学,哎,,感觉
    猛玩War3中
  • 原文地址:https://www.cnblogs.com/w1440199392/p/15426073.html
Copyright © 2011-2022 走看看