这篇文章主要介绍 JAVA 中 Strings 的格式化,这个主要是用到 printf 这个函数,使咱们方便格式化复杂数据。html
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 了;数组
实例:函数
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
%.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
%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