NumberFormatter::format

numfmt_format

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

NumberFormatter::format -- numfmt_format — æ•°ć€€ă‚’ăƒ•ă‚©ăƒŒăƒžăƒƒăƒˆă™ă‚‹

èȘŹæ˜Ž

ă‚Șăƒ–ă‚žă‚§ă‚ŻăƒˆæŒ‡ć‘ćž‹

public function NumberFormatter::format(int|float $num, int $type = NumberFormatter::TYPE_DEFAULT): string|false

æ‰‹ç¶šăćž‹

function numfmt_format(NumberFormatter $formatter, int|float $num, int $type = NumberFormatter::TYPE_DEFAULT): string|false

æ•°ć€€ă‚’ăƒ•ă‚©ăƒŒăƒžăƒƒăƒˆèŠć‰‡ă«ă—ăŸăŒăŁăŠăƒ•ă‚©ăƒŒăƒžăƒƒăƒˆă—ăŸă™ă€‚

ăƒ‘ăƒ©ăƒĄăƒŒă‚ż

formatter

NumberFormatter ă‚Șブゾェクト。

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() ă‚’äœżă„ăŸă™ă€‚

ć‚è€ƒ

  • numfmt_get_error_code() - ăƒ•ă‚©ăƒŒăƒžăƒƒă‚żăźç›Žèż‘ăźă‚šăƒ©ăƒŒă‚łăƒŒăƒ‰ă‚’ć–ćŸ—ă™ă‚‹
  • numfmt_format_currency() - 通èČšăźć€€ă‚’ăƒ•ă‚©ăƒŒăƒžăƒƒăƒˆă™ă‚‹
  • numfmt_parse() - æ•°ć€€ă‚’ăƒ‘ăƒŒă‚čする
  • msgfmt_format_message() - æ‰‹æ—©ăăƒĄăƒƒă‚»ăƒŒă‚žă‚’ăƒ•ă‚©ăƒŒăƒžăƒƒăƒˆă™ă‚‹
add a note

User Contributed Notes 1 note

up
2
mrSplendid ¶
3 years ago
on Linux you may need to install icu-data-full package for NumberFormatter to work properly with non-english locales.