我正在学习更多的 PHP 教程,特别是DevZone PHP 101,并且对以下内容感到困惑:
echo .sprintf("%4.2f", (2 * $radius * pi()))
我找到了这个
我认为这意味着使用第一个后续参数的值生成一个四位宽、两位小数的浮点字段。
这来自于 C/C++ 系列编程语言。sprintf() 将第一个参数作为格式语句。其中以 % 开头的任何内容都是字段说明符;其他任何东西都只是可打印的文本。因此,如果您给出一个包含所有文本且没有说明符的格式语句,它将完全按照它出现的方式打印。使用格式说明符,它需要数据才能处理。
但是在尝试了一些不同的值之后,我仍然没有得到它。在我看来,在这种情况下,它的目的是否只是将小数点限制在 2 位,我所要做的就是
.sprintf("%.2f", (2 * $radius * pi()))
前面的4个是什么意思?在PHP 手册中,它让我相信它确定的字符总数应该是 4,但是 (a) 不是这种情况,因为小数点使它成为 5 个字符,并且 (b) 不是这种情况,因为我尝试将其更改为更大的数字,如 %8.2f 并且它没有在两端添加任何零。有人可以更好地解释这一点。
谢谢!