温馨提示×

String.format怎样格式化字符串

小樊
81
2024-10-12 10:36:06
栏目: 编程语言

String.format() 是 Java 中的一个非常有用的方法,用于格式化字符串。它允许你使用占位符 {} 来表示要插入的值,并通过传递参数来替换这些占位符。以下是一些基本的使用示例:

  1. 基本格式化
String name = "Alice";
int age = 30;
String formattedString = String.format("My name is %s and I am %d years old.", name, age);
System.out.println(formattedString);  // 输出:My name is Alice and I am 30 years old.

在这个例子中,%s 是一个字符串占位符,%d 是一个整数占位符。 2. 格式化浮点数

double pi = 3.14159;
String formattedDouble = String.format("Pi is approximately %.2f.", pi);
System.out.println(formattedDouble);  // 输出:Pi is approximately 3.14.

在这里,%.2f 表示保留两位小数的浮点数。 3. 对齐和填充

int[] numbers = {1, 2, 3, 4, 5};
String formattedArray = String.format("%-5d | %-5d | %-5d | %-5d | %-5d", numbers[0], numbers[1], numbers[2], numbers[3], numbers[4]);
System.out.println(formattedArray);
// 输出(假设数字宽度至少为5):
// 1     | 2     | 3     | 4     | 5    

在这个例子中,%-5d 表示左对齐的数字,总宽度为5个字符。如果数字不足5个字符,它会在左侧用空格填充。 4. 使用换行符

String multiLineString = String.format("Hello, %s!\nToday is %s.", "World", "Monday");
System.out.println(multiLineString);
// 输出:
// Hello, World!
// Today is Monday.

注意,\n 在字符串字面值中表示换行符,但在 String.format() 中不是必需的,除非你确实想在格式化的字符串中包含换行。 5. 类型转换

String.format() 还支持一些类型转换,如将整数转换为十六进制字符串:

int number = 255;
String hexString = String.format("The hexadecimal value of %d is %X.", number, number);
System.out.println(hexString);  // 输出:The hexadecimal value of 255 is FF.

在这个例子中,%X 表示大写的十六进制表示。如果你想要小写,可以使用 %x

0