PHP的sprintf()函数学习研究笔记
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
相关文章
- 虹科方案|将以太网连接添加到Dell EMC PowerVault™ ML3 SAS库
- Linux运维常用shell脚本之系统管理实例
- Linux运维常用shell脚本之网络管理实例
- Java线程与Linux内核线程的映射关系
- PowerDesigner连接mysql逆向生成pdm
- oracle学习笔记(十六) PL/SQL 异常和goto语句
- gitlab使用培训
- 【完全开源】知乎日报UWP版(下篇):商店APP、github源码、功能说明。Windows APP 良心出品。
- The Similarities and Differences Between C# and Java -- Part 1(译)
- Django Admin实现三级联动(省市区)
- Linux运维工程师工作手册
- Linux系统初始化
- Linux三剑客之awk命令详解及相关实例
- linux的rsync工具的常用选项及ssh同步介绍
- Linux运维常用shell脚本实例
- Django初识、应用创建、模板与静态文件配置、数据库连接
- Django之ForeignKey和ManyToManyField多表查询
- Django权限系统auth模块详解
- Django之QuerySet详解
- Django之Model操作数据库详解