出现此问题的原因如下:
有国际充值业务,信息如下:
<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