10

数千をスペース文字で区切る方法があるかどうか疑問に思っています。

例えば:

$number = 21234.56;
setlocale(LC_ALL, 'pl_PL.utf8');
echo money_format('%i', $number);

私に与えている:

21.234,56 PLN

そして私が欲しい:

21 234,56 PLN

str_replace はしたくありません。もっと良い方法があると確信しています。

4

2 に答える 2

19

使用できますnumber-format。例えば ​​:

echo number_format($number, 2, ',', ' ');

ただし、ユニットを自分で配置する必要があります。

それ以外の場合、ドキュメンテーション ページのこのコメントは、 3money_format桁区切り記号を変更するために変更できるいくつかのコードを含む関数のバージョンを提供します。

次のようなこともできます:

$locale = localeconv();
$text = money_format('%i', $number);
$text = str_replace($locale['mon_thousands_sep'], ' ', $text);
于 2011-03-16T08:45:00.310 に答える
7

参照: http://php.net/manual/en/function.number-format.php

string number_format ( float $number , int $decimals = 0 , string $dec_point = '.' , string $thousands_sep = ',' )

あなたの場合:

number_format($number, 2, ',', ' ');
于 2011-03-16T08:45:06.147 に答える