2016-10-04 6 views
1

私は、次のコードを実行します。PHPのはsetlocale(LC_MONETARY 'en_USの')期待通りに動作しない

setlocale(LC_MONETARY, 'en_US') 
echo money_format('%(!n', 1000) 

を私は1,000.00を得るために期待が、代わりに私が1000.00を取得します。

コンマがないと私は間違って何をしますか?

+0

ご覧ください:(http://stackoverflow.com/questions/25398923/php-money-format-not-working) – AHJeebon

+0

私は '1,000.00'を取得しました@ AHJeebonのリンク – Thamaraiselvam

答えて

0

は端末にlocale -aを試してみてくださいnumber-format

$num = 1000; 
echo number_format($num,2,".",""); // 1000.00 

DEMO

+0

あなたのデモにもコンマはありません。しかし、私はこれが私の単純なアプローチのための信頼できる方法であると思う – Ben

0

を使用し、これを試してみてください。

私の場合、en_US.utf8があり、en_USがインストールされていないことがわかりました。 LOCALEエントリーを含む.envファイルで

setlocale(LC_MONETARY, env('LOCALE', 'en_US.utf8')); 

setlocale(LC_MONETARY, 'en_US.utf8'); 

は、あなたのコードを実行するどんなマシンで正しいロケール設定をロードするためにDOTENVのようなものを使用するのは良い考えです

LOCALE=en_US