1

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") の呼び出しが原因であることがわかりました。理由はわかりませんが。数値の形式 (つまり、ピリオドの代わりにコンマなど) にのみ影響するはずですが、実際の値が変更されているようです。

4

0 に答える 0