zoukankan      html  css  js  c++  java
  • Java中中英文对齐输出问题,以及Java中的格式化输出

    一 中英文对齐输出问题

         问题,要求控制台输出如下:

        abcefg   def 

        森林    阿狗    

      其实就是要求对齐输出,各种查找java的格式化输出,然后发现只要一个简单的“ ”就可以实现。

          代码如下:

          

    System.out.printf("abcefg	");
    System.out.printf("def	");
    System.out.println();
    System.out.printf("森林之王	");
    System.out.printf("阿狗	");

    二  几个关于java格式化输出的知识点汇总

        2.1 类c的printf方法

        Java的格式化输出等同于String.Format,与C有很大的相似,比如 System.out.printf("%8.2f", x);

        在printf中,可以使用多个参数,例如:System.out.printf("Hello, %s. Next year, you'll be %d", name, age);

        用于printf的转换符如下表:

    转换符

    类型

     举例

    d

    十进制整数  

    159

    x

    十六进制整数

    9f

    o

    八进制整数

    237

    f

    定点浮点数

    15.9

    e

    指数浮点数

    1.59e+01

    g

    通常浮点数

     

    a

    十六进制浮点数

    0x1.fccdp3

    s

    字符串

    Hello

    c

    字符

    H

    b

    布尔型

    TRue

    h

    散列码

    42628b2

    tx

    日期时间

    见时间介绍表

    %

    百分号

    %

    n

    分隔符     

     

      在printf函数中,可以使用多个标志,如:  System.out.printf("%,.2f", 10000.0 / 3.0);
      用于printf的标志如下表

    标志

    目的

    举例

    +

    打印数字前的符号

    +3333.33

    space

    在正数之前加空格

    | 3333.33|

    0

    在数字前补0

    003333.33

    -

    左对齐

    |3333.33 |

    (

    负数括在括号内

    (3333.33)

    ,

    添加分组分隔符

    3,333.33

    # (for f )

    包含小数点

    3,333.

    # (for x or o)

    添加前缀 0x 或 0

    0xcafe

    ^

    转化为大写

    0XCAFE

    $

    指定格式化参数索引,如%1$d,%1$d表示以十进制
    和十六进制打印第一个参数

    159 9F

    格式化前面参数,如%d%<x表示以十进制和十六进
    制打印同一个参数

    159 9F

      时间日期的转换符如下:

    转换符

    类型

    举例

    C

    完整日期和时间

    Mon Feb 09 18:05:19 PST 2004

    F

    ISO 8601 日期

    2004-02-09

    D

    美国时间格式 (mm/dd/year)

    02/09/2004

    T

    24小时时间

    18:05:19

    r

    12小时时间

    06:05:19 pm

    R

    24小时无秒时间

    18:05

    Y

    四位年

    2004

    y

    年的后两位

    04

    C

    年的前两位

    20

    B

    月的完整拼写

    February

    b or h

    月的缩写

    Feb

    m

    两位月(前补0)

    02

    d

    两位日(前补0)

    09

    e

    日期(前不补0)

    9

    A

    完整星期几

    Monday

    a

    星期几的缩写

    Mon

    j

    这一年的第多少天,三位补0

    069

    H

    24小时制小时,两位补0

    18

    k

    24小时制小时,两位不补0

    18

    I

    12小时制小时,两位补0

    06

    l

    12小时制小时,两位不补0

    6

    M

    分钟,两位补0

    05

    S

    秒,两位补0

    19

    L

    毫秒,三位补0

    047

    N

    毫微秒,九位补0

    047000000

    P

    上下午大写

    PM

    p

    上下午小写

    pm

    z

    RFC 822 numeric offset from GMT

    -0800

    Z

    时区

    PST

    s

    1970-01-01 00:00:00起秒数

    1078884319

    E

    1970-01-01 00:00:00起毫秒数

    1078884319047

       

      2.2 String.format

                

    public class StringFormat {
        /**
         * 格式化输出 字符串 
         * [*]左对齐,右补空格
    
         * 
         * @param str
         * @param min_length : 最小输出长度
         * @return
         */
        public static String formatLeftS(String str, int min_length) {
            String format = "%-" + (min_length < 1 ? 1 : min_length) + "s";
            return String.format(format, str);
        }
    
        /**
         * 格式化输出 整数 
         * [*]右对齐,左补0
    
         * 
         * @param num
         * @param min_length : 最小输出长度
         * @return
         */
        public static String format0Right(long num, int min_length) {
            String format = "%0" + (min_length < 1 ? 1 : min_length) + "d";
            return String.format(format, num);
        }
    
        /**
         * 格式化输出 浮点数
         * [*]右对齐,左补0
    
         * 
         * @param d
         * @param min_length : 最小输出长度
         * @param precision : 小数点后保留位数
         * @return
         */
        public static String format0Right(double d, int min_length, int precision) {
            String format = "%0" + (min_length < 1 ? 1 : min_length) + "."
                    + (precision < 0 ? 0 : precision) + "f";
            return String.format(format, d);
        }
    }

      2.3 其它……

  • 相关阅读:
    (五)表单类的创建和使用
    (四)注册登录--重用Django
    (三)Django模板语言
    (二)Django模板的应用
    (一)Django项目架构介绍
    SOA测试之浏览器插件
    (2) Tomcat启动Jenkins
    (1) Jenkins + Subversion + Maven + TestNG
    [翻译] API测试最佳实践
    [原创] 算法之递归(4)- 应用
  • 原文地址:https://www.cnblogs.com/allenzhaox/p/3239539.html
Copyright © 2011-2022 走看看