我正在尝试使用money_format功能.
<?php
$number = 1299.46;
setlocale(LC_MONETARY, 'en_US');
echo money_format('%i', $number); // Outputs 1299.46
Run Code Online (Sandbox Code Playgroud)
虽然它应该打印$ sign或USD?
我在linux主机上.
谢谢
Sam*_*mir 13
money_format 如果区域设置无效,将无法正常工作.
例如,在Debian上,'en_US'不是有效的语言环境 - 您需要'en_US.UTF-8'或'en_US.ISO-8559-1'.
区域设置是操作系统定义的常量。
我用于Ubuntu以下示例。
检查支持哪些区域设置:
locale -a
Run Code Online (Sandbox Code Playgroud)添加您想要的区域设置(例如ru):
sudo locale-gen ru_RU
sudo locale-gen ru_RU.UTF-8
Run Code Online (Sandbox Code Playgroud)运行此更新命令
sudo update-locale
Run Code Online (Sandbox Code Playgroud)重新启动 php fpm (像这样检查你的 php 版本服务名称service --status-all)
sudo service php7.2-fpm restart
Run Code Online (Sandbox Code Playgroud)但要小心,因为您很可能正在使用Apache“mod_php”,因为它是最流行的。当 setlocale() 不是线程安全时,这个可以在多线程环境中工作。详情请看这里
| 归档时间: |
|
| 查看次数: |
4511 次 |
| 最近记录: |