3
現在の地域設定の区切り記号を使用して番号を表示しようとしています。CString.Format()の地域設定の小数点区切り記号を使用します。
Cstring result;
Cstring myMeasure;
myMeasure.Format(_T("%.6f %s"), myDouble, myUnit));
result.Format("My volume is: %s", myMeasure);
結果は、例えば等しい "私のボリュームがある:4.565600 mLの"
は、ここに私のコードです。 フランス語の地域設定を使用すると、結果は変わりません(フランスの小数点記号はピリオドではなくカンマ)。
私はsetlocale()メソッドを不当に試しました。
char* originalCulture = setlocale(LC_ALL, NULL); // save original culture
setlocale(LC_ALL,"");
Cstring result;
Cstring myMeasure;
myMeasure.Format(_T("%.6f %s"), myDouble, myUnit));
result.Format("My volume is: %s", myMeasure);
setlocale(LC_ALL, originalCulture); // restore original culture
誰かが私を助けることができますか?
私はすでにこのMSDNの記事を読んでいますが、10進数については役に立ちませんでした。私は特定の形式_T( "%。6f%s")が必要です。おそらく、期間を課すのはこの特定の形式ですか? –