您的位置:首页 > 其它

printf 格式化最常用用法

2013-09-11 09:22 246 查看

printf 操作符的参数包括”格式字符串“及”要输出的数据列表".

格式字符串好像用来填空的模版,代表你想要的输出格式:

printf "Hello,%s;your password expires in %d days!\n",$user,$day_to_die;


每种转换都会以百分比符号(%)开头,然后以某个字母结尾。而后面的列表里元素的个数应该和转换的数目一样多,

如果数目不对,就无法正确运行。

%d 格式则代表十进制整数,它会舍去小数点后的额数字(请注意,它会无条件截断,而非四舍五入)
%g 自动选择浮点数,整数甚至是指数形式

%s 代表字符串格式,功能其实就是字符内插,只是还能设定字符宽度

%f 浮点数格式转换,会按照四舍五入,可以指定小数点后的输出位置

%12f

%12.3f

%12.0f

%x 代表十六进制,%o代表八进制

如果要输出真正的百分号,请使用%%.

%10s 输出字符串右对齐,空格补位

%6d 输出结果会左端有空格 右对齐

如果宽度为负数,则会向左对齐

数组和printf

需要些技巧来解决这个问题。

my @items = qw(david xinxin huahua);
my $format = "The item are:\n" . ("%-10s\n" x @items);
print "The format is >>$format<<\n";
printf $format,@items;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: