2010-11-25 18 views
2

PDOは、LC_NUMERICカテゴリを使用して、結果セットの現在のロケールに応じて浮動小数点の出力をフォーマットしているようです。PDOは浮動小数点数をカンマで小数点以下の文字として返します

これは巨大なP.I.T.Aです。実際には数値の書式設定にLC_NUMERICが必要ですが、データベースからの結果は小数点記号として常にドットを使用する必要があります。それ以外の計算はオフになります。

phpロケールを使用してクエリ結果の浮動体をフォーマットしないようにPDOを構成することができるかどうかは誰でも考えられます。

もう一つの選択肢は、それが絶対的な最後の措置でない限り、私がむしろしないロケールジャグリングです。

+1

私のためではありません。 DBや接続固有のパラメータではなく、システムロケールを使用していますか?万が一それはオラクルですか? –

+0

こんにちはアルバロは、はい私は絶対に確信している、100,00として出てくる手動nl_NLにLC_NUMERICロケールを設定する際に浮遊し、私は必要なものである100.00として出てくる(Cロケール)それを残すか、en_USのフロートにそれを変更するとき。 – ChrisR

答えて

0

この動作に関連するものが見つからない場合は、PHP 5.2.1を使用してvpsにアップグレードし、問題は消えました。

これは確認されていませんが、使用していた特定のPHPバージョンまたはmysqllibに関連するバグです。

2

PDO::setAttribute

PDO :: ATTR_STRINGIFY_FETCHESをお試しください:フェッチする際、数値を文字列に変換します。 boolが必要です。

は、この場合にはfalseになります

私たちは私たちのホスティングプロバイダとcouldnからの技術者と一緒にphp.netのリリースノートとbuglogsをチェックしたPHP 5.1.4のバグのように見える
関連する問題