0

私は openframeworks を使用するプロジェクトで作業していますが、最近 XML を記述するときにいくつかの問題が発生しています。問題を sprintf まで追跡しました。

特定の条件下で、sprintf 呼び出しが浮動小数点数にドットの代わりにコンマを書き込むことがあるようです (たとえば、「2.56」ではなく「2,56」)。私のロケールでは、小数点以下を単位から分離するために、浮動小数点数は「,」で表されます。

簡単な例でこの動作を再現することはできませんが、stringstream を使用して値を文字列化することで問題を解決しました。

異なるローカライズを使用した sprintf の状況が気になります。sprintf が「.」の代わりに「,」を使用する場合 そしてそれを制御する方法は?

4

1 に答える 1

8

小数点記号は、LC_NUMERICロケール変数によって制御されます。詳細を設定setlocaleします。「C」ロケールに設定すると、ピリオドが表示されます。によって返される (読み取り専用) 構造体を調べることで、現在のロケールの文字と設定を見つけることができますlocaleconv

于 2010-09-14T14:42:58.723 に答える