10

我想知道是否有办法用空格字符分隔数千。

例如:

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

给我:

21.234,56 兹罗提

而且我要:

21 234,56 兹罗提

我不想让str_replace。我确信有更好的方法。

4

2 回答 2

19

您可以使用number-format. 例如 :

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

但是您必须自己放置设备。

否则,文档页面的此注释money_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 回答