4

私はfloat値を持っています:( data->val)これは3つの可能なfloat精度である可能性があります:%.1f%.2fそして必要な小数点の数だけを表示するために%.3fそれをどのようにフォーマットしますか?CString::Format例えば:

CString sVal;

sVal.Format(L"%.<WHAT GOES HERE?>f", data->val);
if(stValue)
    stValue->SetWindowText(sVal);

のように、フォーマットされた文字列の最後にゼロを追加したくありません。

4

2 に答える 2

7

必要な精度がわかっている場合は、単純に使用%.*fして、精度を の整数引数として指定しCString::Formatます。最も単純で効果的な表現が必要な場合は、次を試してください%g

int precision = 2; // whatever you figure the precision to be
sVal.Format(L"%.*f", precision, data->val);
// likely better: sVal.Format(L"%g", data->val);
于 2012-11-05T16:13:56.427 に答える