double型をCString型に変換するには?

解決


型変換  2007-11-03 01:59:23  No: 66726

はじめまして。
double型をCString型に変換する際に困っている事があります。

「1.20」と「1.25」を、Format("%1.2f", x)で型変換すると、
「1.20」と「1.25」となってしまいまうのですが、
「1.2」と「1.25」に変換するにはどうしたらよいのでしょうか?

宜しく御願いします。


Blue  2007-11-03 02:40:14  No: 66727

%g を指定してみるのはどうでしょうか?


型変換  2007-11-03 03:20:14  No: 66728

to Blueさん

ありがとうございました。
"%g"でうまくいきました。

すごく悩んでいたのに、こんなに簡単にできるんですね。
助かりました。本当にありがとう御座います。


yoh2  2007-11-03 08:43:58  No: 66729

細かいところですが。
%gでは、元の値をx.xxxxe±nnnという表記で表した時にnnnが5以上
なら、CString::Formatの結果が指数表記に変換されることに注意。

1000000.25 → 1e+6
1000000.2  → 1e+6
0.00000025 → 2e-7
0.0000002  → 2.5e-7

もちろん、そのような範囲の値を使わないなら問題ありません。


yoh2  2007-11-03 08:46:50  No: 66730

変換例を間違えました。

×
> 0.00000025 → 2e-7
> 0.0000002  → 2.5e-7


0.00000025 → 2.5e-7
0.0000002  → 2e-7


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加