Лучше использовать класс форматирования чисел:
, однако для него требуется расширение intl и php 5.3.0+ .. (sudo apt-get install php5-intl)
$f = NumberFormatter::create("en-US",NumberFormatter::CURRENCY);
var_dump($f->format(1111123.2));
$f = NumberFormatter::create("en-US",NumberFormatter::CURRENCY);
$f->setSymbol(NumberFormatter::CURRENCY_SYMBOL,"€");
var_dump($f->format(1111123.2));
$f = NumberFormatter::create("de_DE",NumberFormatter::CURRENCY);
var_dump($f->formatCurrency(1111123.2,"EUR"));
$f = NumberFormatter::create("it_IT",NumberFormatter::CURRENCY);
var_dump($f->formatCurrency(1111123.2,"USD"));
$f = NumberFormatter::create("sk_SK",NumberFormatter::CURRENCY);
var_dump($f->formatCurrency(1111123.2,"USD"));
Возвраты:
string(13) "$1,111,123.20"
string(15) "€1,111,123.20"
string(17) "1.111.123,20 €"
string(17) "US$ 1.111.123,20"
string(19) "1 111 123,20 US$"
Если ваши клиенты из разных стран, просто сохраните для них локаль, и они получат заранее определенный номер.