如何透過貨幣符號'CURRENCY' 取得對應的 LOCALE 資訊。

WBOY
發布: 2016-08-25 10:37:17
原創
1435 人瀏覽過

出現此問題的原因如下:

有國際儲值業務,資料如下:

<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資訊無法取得的困難,再藉助intllocale來取得如下:

<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資訊無法取得的困難,再藉助intllocale來取得如下:

<code class="php">$locale = Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']);
var_dump($locale);</code>
登入後複製
登入後複製

但是accept_language不是正常的locale資訊

所以是否有辦法透過 currency 取得到 locale

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板