我一直在使用echo "$".sprintf("%01\$.2f",$numvar);
我的美元格式,但我只是复制并粘贴了它。我查看了 php.net 上的文档,但我仍然不清楚。
请帮助我了解每个部分"%01\$.2f"
在该功能中的作用。
%
是转换规范的开始
01\$
表示该值将放在结果的第一项中
更常见的是,同样的写成1$
.2
是精度说明符,它指示应该显示多少个十进制数字
f
表示参数被视为浮点数,并显示为浮点数(区域设置感知)
有关上述内容的完整详细信息以及可用的内容,请参阅 的format
参数说明sprintf()
。
该sprint
函数的第一个参数是“格式”。可能的格式包括:
可能的格式值:
- %% - 返回一个百分号
- %b - 二进制数
- %c - 根据 ASCII 值的字符
- %d - 有符号十进制数
- %e - 科学记数法(例如 1.2e+2)
- %u - 无符号十进制数
- %f - 浮点数(本地设置感知)
- %F - 浮点数(不支持本地设置)
- %o - 八进制数
- %s - 字符串
- %x - 十六进制数(小写字母)
- %X - 十六进制数(大写字母)
其他格式值。它们位于 % 和字母之间(例如 %.2f):
- “+”(强制在数字前面同时加上 + 和 -。默认情况下,仅标记负数)
- '(指定用作填充的内容。默认为空格。必须与宽度说明符一起使用。示例:%'x20s(这使用“x”作为填充)
- “-”(左对齐变量值)
- [0-9](指定保持到变量值的最小宽度)
- .[0-9](指定小数位数或最大字符串长度)