PHP sprintf 中使用的此格式字符串的说明


Explanation of this format string used in PHP sprintf

我一直在用echo "$".sprintf("%01'$.2f",$numvar);进行美元格式化,但我只是复制和粘贴了它。我查看了 php.net 的文档,但我仍然不清楚。

请帮助我了解"%01'$.2f"的每个部分在该函数中的作用。

  • %转换规范的开始

  • 01'$表示该值将放置在结果的第一项中

    更常见的是,同样会写成1$

  • .2精度说明符,它指示应显示多少个十进制数字

  • f 表示参数被视为浮点数,并显示为浮点数(区域设置感知)

有关上述内容的完整详细信息以及可用的内容,请参阅 sprintf()format 参数的说明。

sprint函数的第一个参数是"format"。可能的格式包括:

可能的格式值:

  1. %% - 返回百分号
  2. %b - 二进制数
  3. %c - 根据 ASCII 值的字符
  4. %d - 有符号十进制数
  5. %e - 科学记数法(例如 1.2e+2)
  6. %u - 无符号十进制数
  7. %f - 浮点数(本地设置感知)
  8. %F - 浮点数(无法识别本地设置)
  9. %o - 八进制数
  10. %s - 字符串
  11. %x - 十六进制数(小写字母)
  12. %X - 十六进制数(大写字母)

其他格式值。它们位于 % 和 字母(示例 %.2f):

  1. "+"(在数字前面强制 + 和 - 。默认情况下,仅标记负数)
  2. '(指定要用作填充的内容。默认值为空格。必须与宽度说明符一起使用。示例:%'x20s(这使用"x"作为 填充)
  3. "-"(左对齐变量值)
  4. [0-9] (指定保持到变量值的最小宽度)
  5. .[0-9] (指定十进制位数或最大字符串长度)