Perl sprintf % 格式化说明符216


在 Perl 中,sprintf() 函数用于将各种类型的数据格式化为字符串。% 格式化说明符用于指定要格式化的数据的类型和格式。

整数格式| 格式化说明符 | 描述 |
|---|---|
| %d | 十进制整数 |
| %i | 整数(与 %d 等效) |
| %o | 八进制整数 |
| %x | 十六进制整数(小写) |
| %X | 十六进制整数(大写) |
| %u | 无符号十进制整数 |

例如:```
my $num = 123;
my $str = sprintf("%d", $num); # $str = "123"
```

浮点数格式| 格式化说明符 | 描述 |
|---|---|
| %f | 浮点数(小数点后 6 位小数) |
| %e | 科学计数法(小数点后 6 位小数) |
| %E | 科学计数法(小数点后 6 位小数,大写 E) |
| %g | 通用格式(自动选择 %f 或 %e,取决于值) |
| %G | 通用格式(大写 E,自动选择 %f 或 %e,取决于值) |

例如:```
my $pi = 3.14159265;
my $str = sprintf("%.2f", $pi); # $str = "3.14"
```

字符格式| 格式化说明符 | 描述 |
|---|---|
| %c | 单个字符 |
| %s | 字符串 |

例如:```
my $char = 'a';
my $str = sprintf("%c", $char); # $str = "a"
```

其他格式| 格式化说明符 | 描述 |
|---|---|
| %% | 百分号(%)字符 |
| %p | 指针(十六进制值) |

例如:```
my $ptr = 0x123456;
my $str = sprintf("%p", $ptr); # $str = "0x123456"
```

格式说明符修饰符格式说明符可以包含以下修饰符:
| 修饰符 | 描述 |
|---|---|
| - | 左对齐 |
| + | 强制显示正号 |
| 0 | 右对齐(用 0 填充) |
| , | 千位分隔符 |
| .precision | 小数点后面的小数位数 |
| m | 最小字段宽度 |

例如:```
my $num = 12345;
my $str = sprintf("%08d", $num); # $str = "0012345"
```

格式化多个值可以使用一个 sprintf() 调用来格式化多个值。只需将要格式化的值作为 sprintf() 函数的参数列表的一部分传递即可。

例如:```
my $name = 'John Doe';
my $age = 30;
my $str = sprintf("Name: %s, Age: %d", $name, $age); # $str = "Name: John Doe, Age: 30"
```

sprintf() 函数是 Perl 中一个强大的工具,可用于将各种类型的数据格式化为字符串。通过使用不同的格式化说明符和修饰符,您可以控制格式化的外观和行为。理解 sprintf() 函数的使用是掌握 Perl 编程技能的重要组成部分。

2024-12-05


上一篇:用 Perl 测量时间

下一篇:Perl 中的复制操作