119.00 のような値が float として格納されています。
moneyFormat("%.2n", 119.00) でフォーマットしています。
米国でフォーマットすると、正しい結果が得られます: $119.00
他のもの (例: es_MX.UTF-8) でフォーマットすると、小数点以下の前に 2 つの余分なゼロが追加されます: $11,900.00.
どこかで設定する必要があるものは他にありますか?
これは、php 5.3 を搭載した Linux マシン (centos 6) 上にあります。
編集: setlocale(LC_NUMERIC, "es_MX.UTF-8") の呼び出しが原因であることがわかりました。理由はわかりませんが。数値の形式 (つまり、ピリオドの代わりにコンマなど) にのみ影響するはずですが、実際の値が変更されているようです。