2013-12-09 217 views
1

我在本地服務器上使用PHP的數字格式化程序,當它工作時,它打印出如下美元金額:8.500,00 $當我真的希望它看起來像這樣:$ 8,500.00 。函數中是否有一些參數可以讓我解決這個問題,還是我必須使用別的東西?PHP NumberFormatter反轉逗號和小數

+2

請給我們一些代碼。 – Dave

+1

您的語言環境可能未設置爲您的想法。你如何創建你的'NumberFormatter'對象? –

+1

@RocketHazmat你是對的!我忘了將語言環境改爲美國而不是之前的設置(德語),謝謝。 –

回答

0

看起來您在您的NumberFormatter對象中設置了錯誤的區域設置。格式$8,500.00是美國的格式。確保你已經告知NumberFormatter使用正確的語言環境。

-1

如果您使用的是number_format功能確保您使用的是在正確的地方小數點和逗號類似下面的功能:

number_format ($number , $decimals , '.' , ','); 

如果您正在使用NumberFormatter類,那麼我會建議這樣做:

$number = 8500.00; 
$fmt = new NumberFormatter('en_US', NumberFormatter::CURRENCY); 
echo $fmt->format($number); 
//Results in $8,500.00 
-2

有一個叫做功能number_format

number_format ($number , $decimals , $dec_separator , $thousands_separator) 
+0

是的,我忘了更改我使用的函數的語言環境,讓它設置爲丹麥而不是美國。 –

0

也許是這樣的:

$number = 1234.52; 
setlocale(LC_MONETARY, 'en_US'); 
$number = money_format('%#10.2n', $number); 

更新哦,其實你說你正在使用NumberFormatter。我只是錯過了。這應該也很好:

$formatter = new NumberFormatter('en_US', NumberFormatter::CURRENCY); 
$number = $formatter->format($number);