Heim  >  Artikel  >  Backend-Entwicklung  >  So erhalten Sie die entsprechenden LOCALE-Informationen über das Währungssymbol „CURRENCY“.

So erhalten Sie die entsprechenden LOCALE-Informationen über das Währungssymbol „CURRENCY“.

WBOY
WBOYOriginal
2016-08-25 10:37:171426Durchsuche

Dieses Problem tritt aus folgenden Gründen auf:

Ein internationaler Aufladeservice ist verfügbar. Die Informationen lauten wie folgt:

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

Unter ihnen ist „Geld“ der Aufladebetrag (der Betrag des aktuellen Gebietsschemas) und „Währung“ die dem Geld entsprechende Währungsinformation.

Zur Vereinfachung der statistischen Buchführung möchte ich Geld ₱48.00 in Gleitkommazahleninformationen umwandeln, die mit bloßem Auge erkennbar sind.

Also haben wir die offizielle PHP-Erweiterung intl verwendet, um den folgenden Code zu entwickeln:

<code class="php">$locale = ?
$money  = '₱48.00';
$currency = 'PHP';
$fmt    = new NumberFormatter($locale, NumberFormatter::CURRENCY);
$__     = $fmt->parseCurrency($money, $currency);
var_dump($__)
//$__ === false为转换失败,若为float 则转换成功</code>

Unerwarteterweise stieß ich auf die Schwierigkeit, die locale-Informationen nicht erhalten zu können. Ich habe dann intl in locale verwendet, um Folgendes zu erhalten:

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

Akzeptanzsprache ist jedoch keine normale Gebietsschemainformation

Gibt es also eine Möglichkeit, currencylocale durch

zu kommen

Antwortinhalt:

Dieses Problem tritt aus folgenden Gründen auf:

Ein internationaler Aufladeservice ist verfügbar. Die Informationen lauten wie folgt:

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

Unter ihnen ist „Geld“ der Aufladebetrag (der Betrag des aktuellen Gebietsschemas) und „Währung“ die dem Geld entsprechende Währungsinformation.

Zur Vereinfachung der statistischen Buchführung möchte ich Geld ₱48.00 in Gleitkommazahleninformationen umwandeln, die mit bloßem Auge erkennbar sind.

Also haben wir die offizielle PHP-Erweiterung intl verwendet, um den folgenden Code zu entwickeln:

<code class="php">$locale = ?
$money  = '₱48.00';
$currency = 'PHP';
$fmt    = new NumberFormatter($locale, NumberFormatter::CURRENCY);
$__     = $fmt->parseCurrency($money, $currency);
var_dump($__)
//$__ === false为转换失败,若为float 则转换成功</code>

Unerwarteterweise stieß ich auf die Schwierigkeit, die locale-Informationen nicht erhalten zu können. Ich habe dann intl in locale verwendet, um Folgendes zu erhalten:

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

Akzeptanzsprache ist jedoch keine normale Gebietsschemainformation

Gibt es also eine Möglichkeit, currencylocale durch

zu kommen
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn