Perl printf 函数
描述
此函数将通过 FORMAT 指定的格式解释的 LIST 的值打印到当前输出文件句柄,或 FILEHANDLE 指定的文件句柄。
等效于打印 FILEHANDLE sprintf(FORMAT, LIST)
如果您不需要特定的输出格式,您可以使用 print 代替 printf。 以下是接受的格式转换列表。
序号 | 格式 & 结果 | 1 | %% 一个百分号 |
---|---|
2 | %c 具有给定 ASCII 码的字符 |
3 | %s 一个字符串 |
4 | %d 有符号整数(十进制) |
5 | %u 无符号整数(十进制) |
6 | %o 无符号整数(八进制) |
7 | %x 无符号整数(十六进制) |
8 | %X 无符号整数(使用大写字符的十六进制) |
9 | %e 浮点数(科学记数法) |
10 | %E 浮点数,使用 E 而不是 e |
11 | %f 浮点数(固定十进制表示法) |
12 | %g 浮点数(根据值大小的 %e 或 %f 表示法) |
13 | %G 浮点数(如 %g,但在适当时使用 .E. 代替 .e.) |
14 | %p 指针(以十六进制打印值的内存地址) |
15 | %n 将到目前为止输出的字符数存储到参数列表中的下一个变量中 |
Perl 还支持可选地调整输出格式的标志。 这些在 % 和转换字母之间指定。 它们如下表所示 −
序号 | 标志 & 结果 | 1 | space 带空格的正数前缀 |
---|---|
2 | + 带加号的正数前缀 |
3 | - 在字段内左对齐 |
4 | 0 使用零而不是空格来右对齐 |
5 | # 使用 .0 为非零八进制数添加前缀。 和 .0x 的十六进制。 |
6 | number 最小字段宽度 |
7 | .number 指定浮点数的精度(小数点后的位数) |
8 | l 将整数解释为 C 类型的 .long。 或 .unsigned long。 |
9 | h 将整数解释为 C 类型的 .short。 或 .unsigned short。 |
10 | V 将整数解释为 Perl.s 标准整数类型 |
11 | v 将字符串解释为一系列整数,并输出为以句点分隔的数字或当标志前面带有 * 时从参数中提取的任意字符串。 |
语法
以下是此函数的简单语法 −
printf FILEHANDLE FORMAT, LIST printf FORMAT, LIST
返回值
This function
示例
以下是显示其基本用法的示例代码 −
#!/usr/bin/perl -w printf "%d\n", 3.1415126; printf "The cost is \$%6.2f\n",499; printf "Perl's version is v%vd\n",%^V; printf "%04d\n", 20;
执行上述代码时,会产生以下结果 −
3 The cost is $499.00 Perl's version is v 0020