1

私はphpを使用しています。ユーザー文化に基づいて数値をフォーマットしようとしています。私が理想的に望むのは、文化と数値をパラメーターとして指定できる関数であり、文化に基づいて数値を自動的にフォーマットしますが、そのようなものは見つかりませんでした。

そこで、setlocale(LC_NUMERIC, myCulture) を使用してみました。次に、localeconv() を呼び出して、number_format 関数を使用する小数点記号と桁区切り記号などを確認しました。結果を変数に入れましたが、それらはすべて同じです! すなわち私が作った:

setlocale(LC_NUMERIC, "en-US");
$result1 = localeconv();
setlocale(LC_NUMERIC, "fr-FR");
$result2 = localeconv();

$result1 と $result2 はまったく同じものです! 私は何を間違っていますか?何か案が?ご協力ありがとうございました、

マーティン

4

1 に答える 1

1

の戻り値を確認してくださいsetlocale(LC_NUMERIC, "en-US");

$val = setlocale(LC_NUMERIC, "en-US");
if ($val === FALSE) //locale is not available

Linux ディストリビューションで $val が FALSE を返す場合は、次のコマンドを実行します。

locale-gen fr_FR.utf8ロケールをインストールする必要があります。

于 2013-07-09T13:04:17.143 に答える