> php教程 > php手册 > PHP中的sprintf()函数的学习研究笔记

PHP中的sprintf()函数的学习研究笔记

WBOY
풀어 주다: 2016-06-06 19:57:18
원래의
827명이 탐색했습니다.

sprintf 将字串格式化。 语法: string sprintf(string format, mixed [args]…); 传回值: 字串 函式种类: 资料处理 内容说明 本函式用来将字串格式化。参数 format 是转换的格式,以百分比符号 % 开始到转换字符为止。而在转换的格式间依序包括了 1.

    sprintf

    将字串格式化。

    语法: string sprintf(string format, mixed [args]…);

    传回值: 字串

    函式种类: 资料处理

    内容说明

    本函式用来将字串格式化。参数 format 是转换的格式,以百分比符号 % 开始到转换字符为止。而在转换的格式间依序包括了

    1. 填空字元。0 的话表示空格填 0;空格是内定值,表示空格就放着。

    2. 对齐方式。内定值为向右对齐,负号表向左对齐。

    3. 栏位宽度。为最小宽度。

    4. 精确度。指在小数点后的浮点数位数。

    型态,见下表

    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    转换字符

    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    % 印出百分比符号,不转换。

    b 整数转成二进位。

    c 整数转成对应的 ASCII 字元。

    d 整数转成十进位。

    f 倍精确度数字转成浮点数。

    o 整数转成八进位。

    s 整数转成字串。

    x 整数转成小写十六进位。

    X 整数转成大写十六进位。

    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    例子

    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    使用范例

   

    $money1 = 68.75;

    $money2 = 54.35;

    $money = $money1 + $money2;

    // 此时变数 $money 值为 "123.1";

    $formatted = sprintf ("%01.2f", $money);

    // 此时变数 $ formatted 值为 "123.10"

    ?>

    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    这个 %01.2f 是什么意思呢?

    首先 这个 % 符号是开始的意思,他写在最前面表示指定格式要开始了。 也就是 "起始字符", 直到出现 "转换字符" 为止,就算格式终止。

    然后 跟在 % 符号 后面的是 0 这个零是 "填空字元" 表示,如果位置空着 就用0来填满。

    在 0 后面的是 1 这个 1 是规定,小数点前面的数字占位要有1位以上。

    如果把 1 改成 2 如果 $money 的值为 1.23 ,则 $formatted 的值将为 01.23

    因为,在小数点前面的数字只占了1位,按照上面所规定的格式,小数点前数字应该占2位,现在只有1位,所以,用0来填满。

    到目前,在 %01 后面的 .2 (点2) 就很好理解了,它的意思是,规定,小数点后的数字,必需占2位。 如果这时候,$money 的值为 1.234,则 $formatted 的值将为 1.23。

    为什么 4 不见了呢? 因为,在小数点后面 按照上面的规定,必需且仅能占2位。 可是 $money 的值中,小数点占了3位,所以,4 被去掉了,只剩下 23。

    最后,以 f "转换字符" 结尾,其他转换字符请自行参考上面的转换字符列表。

    关于对齐

    如果在 % 起始符号后面 加上 - (负号) 则,将会把数字以向右对齐的方式进行处理。

    列子

   

    $money = 1.4;

    $formatted = sprintf ("%-02.2f", $money);

    echo $formatted;

    ?>

    这时候,$formatted 将不会再是 01.40 而是 1.400

PHP中的sprintf()函数的学习研究笔记

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿