JAVA String 格式化

这篇文章主要介绍 JAVA 中 Strings 的格式化,这个主要是用到 printf 这个函数,使咱们方便格式化复杂数据。html

1.使用 printf

public PrintStream printf(String format, Object... args);java

咱们来看下api的介绍:git

[warning]使用指定格式字符串和参数将格式化的字符串写入此输出流的便捷方法。 调用此方法的 out.printf(format, args) 形式,行为与如下调用彻底相同: api

out.format(format, args)

参数: format - 在格式字符串的语法中描述的格式字符串 args - 格式字符串中的格式说明符引用的参数。若是参数多于格式说明符,则忽略额外的参数。参数的数量是可变的,而且可>觉得零。参数的最大数量受到 Java Virtual Machine Specification 定义的 Java 数组的最大维数的限制。针对 null >参数的行为依赖于 conversion。 [/warning] 这里咱们主要说的就是 format 了;数组

  • 常规类型、字符类型和数值类型的格式说明符的语法以下:
  • %[argument_index$][flags][width][.precision]conversion
  • 可选的 argument_index 是一个十进制整数,用于代表参数在参数列表中的位置。第一个参数由 "1$" 用,第二个参数由"2$" 引用,依此类推。
  • 可选 flags 是修改输出格式的字符集。有效标志集取决于转换类型。
  • 可选 width 是一个非负十进制整数,代表要向输出中写入的最少字符数。
  • 可选 precision 是一个非负十进制整数,一般用来限制字符数。特定行为取决于转换类型。
  • 所需 conversion 是一个代表应该如何格式化参数的字符。给定参数的有效转换集取决于参数的数据类型。

实例:函数

package com.javacodegeeks.core.string;

public class StringFromatExample {

    public static void main(String[] args) {

        System.out.printf("Integer : %d\n",15);
        System.out.printf("Floating point number with 3 decimal digits: %.3f\n",1.21312939123);
        System.out.printf("Floating point number with 8 decimal digits: %.8f\n",1.21312939123);

        System.out.printf("String: %s, integer: %d, float: %.6f", "Hello World",89,9.231435);
    }
}

输出:code

Integer : 15 Floating point number with 3 decimal digits: 1.213 Floating point number with 8 decimal digits: 1.21312939 String: Hello World, integer: 89, float: 9.231435orm

2.格式化字符串String

  • %s : 直接输出
  • %15s :输出字符串,不够15位的左边空白字符串填充。
  • %-6s : 输出字符串,不够6位的右边填充空白字符串。
  • %.8d : 最多输出8位字符。htm

    package com.javacodegeeks.core.string;ip

    public class StringFromatExample {

    public static void main(String[] args) {
    
        System.out.printf("%-12s%-12s%s\n","Column 1","Column 2","Column3");
    
        System.out.printf("%-12.5s%s", "Hello World","World");
    }

    }

Column 1 Column 2 Column3 Hello World

3格式化整数字符串

%d :输出整数。 %6d :输出6位正数,不够的左边补空白 %-6d :输出6位正数,不够的右边补空白 %06d : 输出整数,位数不够的补0填充 %.2d : 最多打印2位整数

package com.javacodegeeks.core.string;

public class StringFromatExample {

    public static void main(String[] args) {

        System.out.printf("%-12s%-12s%s\n","Column 1","Column 2","Column3");
        System.out.printf("%-12d%-12d%07d\n",15,12,5);
    }
}

Column 1 Column 2 Column3 15 12 0000005

格式化浮点数

%f : 直接输出 %15f :输出浮点数,不够15位的用0补齐 %.8f : 最多输出8位小数。 %9.4f : 最多输出4位小数。若是不够9位占字符,填充空白

package com.javacodegeeks.core.string;

public class StringFromatExample {

    public static void main(String[] args) {

        System.out.printf("%-12s%-12s\n","Column 1","Column 2");

        System.out.printf("%-12.5f%.20f", 12.23429837482,9.10212023134);
    }

}

Column 1 Column 2 12.23430 9.10212023134000000000

相关文章
相关标签/搜索