ホームページ >バックエンド開発 >PHPチュートリアル >PHP-INTLを使用した日付、通貨、および数値をローカライズします
このチュートリアルは、数字、日付、通貨などの複雑なデータをローカライズすることに焦点を当てた、PHP INTL拡張の前の紹介に基づいています。 飛び込みましょう!
重要な概念:
NumberFormatter
メソッドを使用して簡単に実現できます。
NumberFormatter
formatCurrency
IntlCalendar
ロケールコード(例: 'de_de'、 'en_us')は、フォーマットスタイルを決定します。 さまざまなフォーマットスタイル(小数、通貨、期間など)が利用可能です
スタイルと属性のフォーマット:NumberFormatter
<code class="language-php">$numberFormatter = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL ); var_dump( $numberFormatter->format(123456789) ); // Output: string(11) "123.456.789" $numberFormatter = new NumberFormatter( 'en_US', NumberFormatter::DECIMAL ); var_dump( $numberFormatter->format(123456789) ); // Output: string(11) "123,456,789" $numberFormatter = new NumberFormatter( 'ar', NumberFormatter::DECIMAL ); var_dump( $numberFormatter->format(123456789) ); // Output: string(22) "١٢٣٬٤٥٦٬٧٨٩" $numberFormatter = new NumberFormatter( 'bn', NumberFormatter::DECIMAL ); var_dump( $numberFormatter->format(123456789) ); // Output: string(30) "১২,৩৪,৫৬,৭৮৯"</code>属性を使用して数値形式をカスタマイズできます:
丸め動作は制御できます:
および
スタイルは、以前に導入されたスタイルもここにも適用されます。 フォーマットされた文字列を数字に戻す解析は、<code class="language-php">$nf = new NumberFormatter( 'en_US', NumberFormatter::DECIMAL ); $nf->setAttribute(NumberFormatter::FRACTION_DIGITS, 2); var_dump( $nf->format(1234.56789) ); // Output: string(8) "1,234.57" var_dump( $nf->format(1234) ); // Output: string(8) "1,234.00"</code>メソッドを介してサポートされています。 通貨のローカリゼーション:
<code class="language-php">$nf = new NumberFormatter( 'en_US', NumberFormatter::DECIMAL ); $nf->setAttribute(NumberFormatter::MAX_FRACTION_DIGITS, 2); $nf->setAttribute(NumberFormatter::ROUNDING_MODE, NumberFormatter::ROUND_CEILING); var_dump($nf->format(1234.5678) ); // Output: string(8) "1,234.57" $nf->setAttribute(NumberFormatter::ROUNDING_MODE, NumberFormatter::ROUND_DOWN); var_dump($nf->format(1234.5678) ); // Output: string(8) "1,234.56"</code>
SPELLOUT
通貨としての数値のフォーマットは簡単です:DURATION
parse
メソッドは通貨記号の取得を簡素化します:
タイムゾーンとカレンダー:
<code class="language-php">$nf = new NumberFormatter( 'en_US', NumberFormatter::CURRENCY ); var_dump( $nf->formatCurrency(1234.56789, "USD" ) ); // Output: string(9) ",234.57"</code>
getSymbol
タイムゾーンを管理し、機能性をミラーリングします。
<code class="language-php">$nf = new NumberFormatter( 'en_US', NumberFormatter::CURRENCY ); var_dump( $nf->formatCurrency(1234.56789, $nf->getSymbol(NumberFormatter::INTL_CURRENCY_SYMBOL)) ); // Output: string(9) ",234.57" $nf = new NumberFormatter( 'fr_FR', NumberFormatter::CURRENCY ); var_dump( $nf->formatCurrency(1234.56789, $nf->getSymbol(NumberFormatter::INTL_CURRENCY_SYMBOL)) ); // Output: string(14) "1 234,57 €"</code>
日付ナビゲーションは直感的です:
IntlTimeZone
結論:DateTimeZone
IntlCalendar
以上がPHP-INTLを使用した日付、通貨、および数値をローカライズしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。