>  기사  >  백엔드 개발  >  통화 기호 "CURRENCY"를 통해 해당 LOCALE 정보를 얻는 방법입니다.

통화 기호 "CURRENCY"를 통해 해당 LOCALE 정보를 얻는 방법입니다.

WBOY
WBOY원래의
2016-08-25 10:37:171426검색

이 문제는 다음과 같은 이유로 발생합니다.

해외 충전 서비스 이용 가능 여부는 다음과 같습니다.

<code class="shell">MONEY:₱48.00 CURRENCY:PHP</code>

그 중 Money 는 충전금액(현재 현지 금액)이고,currency 는 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_언어는 일반적인 로케일 정보가 아닙니다

그래서 currency를 통해 locale

를 얻을 수 있는 방법이 있나요?

답글 내용:

이 문제는 다음과 같은 이유로 발생합니다.

해외 충전 서비스 이용 가능 여부는 다음과 같습니다.

<code class="shell">MONEY:₱48.00 CURRENCY:PHP</code>

그 중 Money 는 충전금액(현재 현지 금액)이고,currency 는 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_언어는 일반적인 로케일 정보가 아닙니다

그래서 currency를 통해 locale

를 얻을 수 있는 방법이 있나요?
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.