zoukankan      html  css  js  c++  java
  • String.format() 方法的用处

    在工作中有时需要生成序列号或时间类型时小于10补零的方法:

    下面举个例子:

    // 我要生成一串序列号  E_00001  一直到  E_00999
     public void console(Long[] ids){
            String m = "E_";
            for (int i = 1; i <= 999; i++) {
               /**
                 * % 表示占位符开始
                 * 0 表示宽度不足时补 0
                 * 5 表示宽度为 5 位数
                 * d 表示数字
                 */
                String format = String.format("%05d", i);
                System.out.println(m+format);
            }
        }

    1、常用转换符

    转换符 说明 示例
    %s 字符串类型 "abcd1234"
    %c 字符类型 'a'
    %b 布尔类型 true
    %d 整数类型(十进制) 99
    %x 整数类型(十六进制) FF
    %o 整数类型(八进制) 77
    %f 浮点类型 99.99
    %a 浮点类型(十六进制) FF.35AE
    %e 指数类型 9.38e+5
    %g 通用浮点类型(f和e类型中较短的)  
    %h 散列码  
    %% 百分比类型  
    %n 换行符  
    %tx 日期与时间类型(x代表不同的日期与时间转换符)  

    2、搭配转换符的标志

    标志 说明 示例 结果
    + 为正数或负数添加符号 format("%+d",99) +99
    - 左对齐 format("%-5s","str") |str  |
    0 数字前补0 format("%05d",99) 00099
    空格 在整数前添加指定数量空格 format("% 5d",99) |   99|
    , 用,对数字进行格式化(三位一逗) format("%,d",321321) 321,321
    ( 使用括号包含负数 format("%(d",-99) 99
    #

    如果是浮点数,则包含小数点

    如果是十六进制或八进制则添加0X或0

    format("%#x",99)

    format("%#o",99)

    0x63

    0143

    < 格式化前一个转换符所描述的参数 format("%f和%<3.2f",99.45) 99.450000和99.45
    $ 被格式化的参数索引 format("%1$d,%2$s", 99,"abc") 99,abc

    3、日期和时间 

    3.1、常见日期和时间组合的格式 

    转换符 说明 示例
    c 包括全部日期和时间信息 星期六 十月 27 14:21:20 CST 2007
    F 年-月-日”格式 2007-10-27
    D “月/日/年”格式 10/27/07
    r “HH:MM:SS PM”格式(12时制) 02:25:51 下午
    T HH:MM:SS”格式(24时制) 14:28:16
    R “HH:MM”格式(24时制) 14:28

    3.2、 日期格式化转换符 

    转换符 说明 示例
    b或者h 月份简称

    中:十月

    英:Oct

    B 月份全称

    中:十月

    英:October

    a 星期的简称

    中:星期六

    英:Sat

    A 星期的全称

    中:星期六

    英:Saturday

    C 年的前两位数字(不足两位前面补0) 20
    y 年的后两位数字(不足两位前面补0) 07
    Y 4位数字的年份(不足4位前面补0) 2007
    j 一年中的天数(即年的第几天) 300
    m 两位数字的月份(不足两位前面补0) 10
    d 两位数字的日(不足两位前面补0) 27
    e 月份的日(前面不补0) 5

    3.3、 时间格式化转换符 

    转换符 说明 示例
    H 2位数字24时制的小时(不足2位前面补0) 15
    I 2位数字12时制的小时(不足2位前面补0) 03
    k 2位数字24时制的小时(前面不补0) 15
    l 2位数字12时制的小时(前面不补0) 3
    M 2位数字的分钟(不足2位前面补0) 03
    S 2位数字的秒(不足2位前面补0) 09
    L 3位数字的毫秒(不足3位前面补0) 015
    N 9位数字的毫秒数(不足9位前面补0) 562000000
    p 小写字母的上午或下午标记

    中:下午

    英:pm

    z 相对于GMT的RFC822时区的偏移量 +0800
    Z 时区缩写字符串 CST
  • 相关阅读:
    【U-Boot】建立U-Boot编译环境
    【电路】JTAG下载器研究
    【FPGA】Xilinx-7系的时钟资源与DDR3配置
    【电路】KiCad-Pcbnew-建BGA形式的Footprint
    【电路】KiCad-Eeschema-建BGA形式的Symbol
    【电路】差分接口互连(二)
    【电路】差分接口互连(一)
    【电路】pmic芯片设计细节
    【电路】PADS建库细节
    【电路】SPI接口细化&控制
  • 原文地址:https://www.cnblogs.com/wujiaxing/p/14276452.html
Copyright © 2011-2022 走看看