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

时间:2012-06-13 19:16:46

标签: php printf

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

请帮助我理解"%01\$.2f"的每个部分在该功能中的作用。

2 个答案:

答案 0 :(得分:4)

  • %转换规范的开头

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

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

  • .2精度说明符,它指示应显示多少位数

  • f表示该参数被视为浮点数,并显示为浮点数(可识别区域设置)

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

答案 1 :(得分:1)

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

  

可能的格式值:

     
      
  1. %% - 返回百分号
  2.   
  3. %b - 二进制数
  4.   
  5. %c - 符合ASCII值的字符
  6.   
  7. %d - 有符号十进制数
  8.   
  9. %e - 科学记数法(例如1.2e + 2)
  10.   
  11. %u - 无符号十进制数
  12.   
  13. %f - 浮点数(可识别本地设置)
  14.   
  15. %F - 浮点数(不知道本地设置)
  16.   
  17. %o - 八进制数
  18.   
  19. %s - 字符串
  20.   
  21. %x - 十六进制数字(小写字母)
  22.   
  23. %X - 十六进制数字(大写字母)
  24.         

    其他格式值。它们放在%和。之间   字母(例如%.2f):

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