php的printf()函数中的'local settings aware'是什么意思

What does it mean by 'local settings aware' in printf() function of php

我知道 php 中的 printf() 函数有两种格式说明符:

%f - 浮点数(本地设置感知)

%F - 浮点数(不了解本地设置)

现在 "local settings aware" 是什么意思?

是否可以更改本地设置?

根据您服务器上的区域设置,格式化的字符串可能会有所不同。您可以使用 setlocale 更改区域设置(如果您希望它工作,您需要安装 locale 扩展);

例如:

setlocale(LC_ALL,'de_DE.utf8');
printf ('%F', 1.234); //this prints 1.234
printf ('%f', 1.234); //this prints 1,234

通过本地设置感知,这意味着显示的输出基于特定的本地设置,即基于人们用来表示某物或显示某物的特定地理位置。所以,如果你想根据不同的地理位置显示特定格式,你可以使用(本地设置感知)类型说明符。

除非使用 setlocale() 函数更改本地设置,否则 %f%F 将打印相同的输出。


本地设置或者setlocale()可以参考: https://www.php.net/manual/en/function.setlocale.php