出现此问题的原因如下:
有国际充值业务,信息如下:
<code class="shell">MONEY:₱48.00 CURRENCY:PHP</code>
其中money 为充值金额(当前locale的金额), currency为货币信息与 money对应。
为了统计记账方便均想把money ₱48.00 转换成为肉眼可是识别的浮点数信息。
于是借助PHP官方intl扩展进行如下代码开发:
<code class="php">$locale = ? $money = '₱48.00'; $currency = 'PHP'; $fmt = new NumberFormatter($locale, NumberFormatter::CURRENCY); $__ = $fmt->parseCurrency($money, $currency); var_dump($__) //$__ === false为转换失败,若为float 则转换成功</code>
不料却遇见locale信息无法获取的困难,再借助intl中locale来获取如下:
<code class="php">$locale = Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']); var_dump($locale);</code>
但是accept_language不是正常的locale信息
所以是否有办法通过 currency 获取到 locale
出现此问题的原因如下:
有国际充值业务,信息如下:
<code class="shell">MONEY:₱48.00 CURRENCY:PHP</code>
其中money 为充值金额(当前locale的金额), currency为货币信息与 money对应。
为了统计记账方便均想把money ₱48.00 转换成为肉眼可是识别的浮点数信息。
于是借助PHP官方intl扩展进行如下代码开发:
<code class="php">$locale = ? $money = '₱48.00'; $currency = 'PHP'; $fmt = new NumberFormatter($locale, NumberFormatter::CURRENCY); $__ = $fmt->parseCurrency($money, $currency); var_dump($__) //$__ === false为转换失败,若为float 则转换成功</code>
不料却遇见locale信息无法获取的困难,再借助intl中locale来获取如下:
<code class="php">$locale = Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']); var_dump($locale);</code>
但是accept_language不是正常的locale信息
所以是否有办法通过 currency 获取到 locale
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号