出現此問題的原因如下:
有國際儲值業務,資訊如下:
MONEY:₱48.00 CURRENCY:PHP
其中money 為儲值金額(當前locale的金額), currency為貨幣資訊與 money對應。
為了統計記賬方便均想把money ₱48.00 轉換成為肉眼可是識別的浮點數資訊。
於是藉助PHP官方intl擴充進行如下代碼開發:
$locale = ?$money = '₱48.00';$currency = 'PHP';$fmt = new NumberFormatter($locale, NumberFormatter::CURRENCY);$__ = $fmt->parseCurrency($money, $currency);var_dump($__)//$__ === false為轉換失敗,若為float 則轉換成功
不料卻遇見locale資訊無法擷取的困難,再藉助intl中locale來擷取如下:
$locale = Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']);var_dump($locale);
但是accept_language不是正常的locale資訊
所以是否有辦法通過 currency 擷取到 locale
回複內容:
出現此問題的原因如下:
有國際儲值業務,資訊如下:
MONEY:₱48.00 CURRENCY:PHP
其中money 為儲值金額(當前locale的金額), currency為貨幣資訊與 money對應。
為了統計記賬方便均想把money ₱48.00 轉換成為肉眼可是識別的浮點數資訊。
於是藉助PHP官方intl擴充進行如下代碼開發:
$locale = ?$money = '₱48.00';$currency = 'PHP';$fmt = new NumberFormatter($locale, NumberFormatter::CURRENCY);$__ = $fmt->parseCurrency($money, $currency);var_dump($__)//$__ === false為轉換失敗,若為float 則轉換成功
不料卻遇見locale資訊無法擷取的困難,再藉助intl中locale來擷取如下:
$locale = Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']);var_dump($locale);
但是accept_language不是正常的locale資訊
所以是否有辦法通過 currency 擷取到 locale