on Linux you may need to install icu-data-full package for NumberFormatter to work properly with non-english locales.(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
NumberFormatter::format -- numfmt_format â æ°ć€ăăă©ăŒăăăăă
ăȘăăžă§ăŻăæćć
$num, int $type = NumberFormatter::TYPE_DEFAULT): string|falseæç¶ăć
$formatter, int|float $num, int $type = NumberFormatter::TYPE_DEFAULT): string|falseæ°ć€ăăă©ăŒăăăèŠćă«ăăăăŁăŠăă©ăŒăăăăăŸăă
formatterNumberFormatter ăȘăăžă§ăŻăă
număă©ăŒăăăăăć€ăint ăăă㯠float ă§æćźăăŸăăăăźä»ăźćăŻæ°ć€ă«ć€æăăăŸăă
type
äœżçšăă
ăă©ăŒăăăćœąćŒă
NumberFormatter::TYPE_CURRENCY
ăŻă”ăăŒăăăăŠăăȘăăźă§æłšæăăŠäžăăă
NumberFormatter::TYPE_CURRENCY ăäœżăăăć Žćă
代ăăă«
NumberFormatter::formatCurrency()
ăäœżăăŸăăăă
ăă©ăŒăăăăăć€ăæććă§èżăăŸăă
ăšă©ăŒæă«ăŻ false ăèżăăŸăă
äŸ1 numfmt_format() ăźäŸ
<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
$data = numfmt_format($fmt, 1234567.891234567890000);
var_dump($data);
?>äŸ2 ăȘăăžă§ăŻăæćăźäŸ
<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
$data = $fmt->format(1234567.891234567890000);
var_dump($data);
?>äžăźäŸăźćșćăŻä»„äžăšăȘăăŸăă
string(13) "1.234.567,891"
æłšæ:
ăăźăĄăœăăă§ćźçŸćŻèœăȘăă©ăŒăăăă§ăŻă ICU ă©ă€ăă©ăȘăæă€æ©èœăăăčăŠäœżăăŸăăă ăăšăă°ăçăéèČšèšć·ăäœżăŁăŠăă©ăŒăăăăăć Žćă§ăă
ICU ă©ă€ăă©ăȘăæă€æ©èœăăăčăŠäœżăă«ăŻă msgfmt_format_message() ăäœżăăŸăă
on Linux you may need to install icu-data-full package for NumberFormatter to work properly with non-english locales.