PHP函数printf()、sprintf()的用法

本文详细介绍了C语言中printf()函数的使用方法和各种格式化选项,包括填充字符、对齐方式、宽度设置、精度指示等,并通过示例展示了如何灵活运用这些特性进行字符串和数值的输出格式化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

printf()函数优点在于可以格式化输出

格式:

  %['padding_character][-][width][.precision]type

  所有的转换说明都是以%开始,如果想打印一个%符号,必须用%% ;

  参数“'padding_character”是可选,它将被用来填充变量直至所指定的宽度,该参数的作用就在变量前面填充,默认的填充字符是一个空格,如果指定“0”或者“ ”(空格),就不需要“'”单引号作为前缀,其他字符就必须指定“'”作为前缀;

  参数“-”是可选,它指左对齐,默认是右对齐;

  参数“width”是指被替换的变量的长度;

  参数“.precision”表示以小数点开始,它指明小数点后要显示的位数;

  参数“type”是类型码,请看下表:
    类型   |    含义
    b      |    解释为整数并作为二进制输出
    c      |    解释为整数并作为字符表示输出(ASCII码)
    d      |    解释为整数并作为整数输出
    f      |    解释为双精度并作为浮点数输出
    o      |    解释为整数并作为八进制数输出
    s      |    解释为字符串并为字符串输出
    u      |    解释为整数并作为非指定小数输出
    x      |    解释为整数并作为带有小写字母a-f的十六进制数输出
    X      |    解释为整数并作为带有大写字母A-F的十六进制数输出

示例:

<?php


$out = "The Books\n";
$books = array("Book 1", "Book 2", "Book 3");
$pages = array("123 pages ", "234 pages", "345 pages");
for ($i = 0; $i < count($books); $i++) {
//第一个变量左对齐,宽度20,不足长度使用.号填充;第二个变量右对齐,宽度为7,左截取4个字符,不足使用.号对齐
    $out .= sprintf("%'.-20s%'.7.4s\n", $books[$i], $pages[$i]);
}
echo $out;


// Outputs:
// 
// The Books
// Book 1.................123 
// Book 2.................234 
// Book 3.................345


$s = 'monkey';
$t = 'many monkeys';


printf("[%s]\n",      $s); // standard string output
printf("[%10s]\n",    $s); // right-justification with spaces
printf("[%-10s]\n",   $s); // left-justification with spaces
printf("[%010s]\n",   $s); // zero-padding works on strings too
printf("[%'#10s]\n",  $s); // use the custom padding character '#'
printf("[%10.10s]\n", $t); // left-justification but with a cutoff of 10 characters 
?>

测试结果:

The Books
Book 1.................123 
Book 2.................234 
Book 3.................345

[monkey]
[    monkey]
[monkey    ]
[0000monkey]
[####monkey]
[many monke]

sprintf()的用法和printf()完全一致,只是sprintf()将返回格式化的结果,并不直接输出结果。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值